Chris Biersbach (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-server/6.1-opw-575322-cbi into 
lp:openobject-server/6.1.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/6.1-opw-575322-cbi/+merge/122296

Fixed an issue with netrpc: signals not being correctly handled
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/6.1-opw-575322-cbi/+merge/122296
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-server/6.1-opw-575322-cbi.
=== modified file 'openerp/service/netrpc_server.py'
--- openerp/service/netrpc_server.py	2012-01-24 17:30:17 +0000
+++ openerp/service/netrpc_server.py	2012-08-31 15:03:18 +0000
@@ -116,25 +116,25 @@
         try:
             self.running = True
             while self.running:
-                fd_sets = select.select([self.socket], [], [], self._busywait_timeout)
-                if not fd_sets[0]:
-                    continue
-                (clientsocket, address) = self.socket.accept()
-                ct = TinySocketClientThread(clientsocket, self.threads)
-                clientsocket = None
-                self.threads.append(ct)
-                ct.start()
-                lt = len(self.threads)
-                if (lt > 10) and (lt % 10 == 0):
-                     # Not many threads should be serving at the same time, so log
-                     # their abuse.
-                     _logger.debug("Netrpc: %d threads", len(self.threads))
-            self.socket.close()
-        except Exception, e:
-            _logger.warning("Netrpc: closing because of exception %s" % str(e))
-            self.socket.close()
-            return False
-
+                try:                
+                    fd_sets = select.select([self.socket], [], [], self._busywait_timeout)
+                    if not fd_sets[0]:
+                        continue
+                    (clientsocket, address) = self.socket.accept()
+                    ct = TinySocketClientThread(clientsocket, self.threads)
+                    clientsocket = None
+                    self.threads.append(ct)
+                    ct.start()
+                    lt = len(self.threads)
+                    if (lt > 10) and (lt % 10 == 0):
+                         # Not many threads should be serving at the same time, so log
+                         # their abuse.
+                         _logger.debug("Netrpc: %d threads", len(self.threads))
+                except Exception, e:
+                    _logger.warning('Exception during main netrpc loop, resuming. Exception: %s', e)  
+        finally:
+            self.socket.close()
+            
     def stop(self):
         self.running = False
         for t in self.threads:

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to