Merge lp:~openerp-dev/openobject-server/trunk-opw-575322-port-rma into lp:openobject-server

Proposed by Randhir Mayatra (OpenERP)
Status: Needs review
Proposed branch: lp:~openerp-dev/openobject-server/trunk-opw-575322-port-rma
Merge into: lp:openobject-server
Diff against target: 46 lines (+18/-18)
1 file modified
openerp/service/netrpc_server.py (+18/-18)
To merge this branch: bzr merge lp:~openerp-dev/openobject-server/trunk-opw-575322-port-rma
Reviewer Review Type Date Requested Status
OpenERP Core Team Pending
Review via email: mp+138390@code.launchpad.net

Description of the change

Hello,

 -- Fixed an issue with netrpc: signals not being correctly handled
    This branch fixes this issue.

    Code is forward port from 6.1

 -- Thank You !!!
    -- RMA

To post a comment you must log in.

Unmerged revisions

4643. By <email address hidden>

[FIX] Fixed an issue with netrpc: signals not being correctly handled

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'openerp/service/netrpc_server.py'
2--- openerp/service/netrpc_server.py 2012-09-22 10:51:07 +0000
3+++ openerp/service/netrpc_server.py 2012-12-06 07:13:22 +0000
4@@ -116,24 +116,24 @@
5 try:
6 self.running = True
7 while self.running:
8- fd_sets = select.select([self.socket], [], [], self._busywait_timeout)
9- if not fd_sets[0]:
10- continue
11- (clientsocket, address) = self.socket.accept()
12- ct = TinySocketClientThread(clientsocket, self.threads)
13- clientsocket = None
14- self.threads.append(ct)
15- ct.start()
16- lt = len(self.threads)
17- if (lt > 10) and (lt % 10 == 0):
18- # Not many threads should be serving at the same time, so log
19- # their abuse.
20- _logger.debug("Netrpc: %d threads", len(self.threads))
21- self.socket.close()
22- except Exception, e:
23- _logger.warning("Netrpc: closing because of exception %s", e)
24- self.socket.close()
25- return False
26+ try:
27+ fd_sets = select.select([self.socket], [], [], self._busywait_timeout)
28+ if not fd_sets[0]:
29+ continue
30+ (clientsocket, address) = self.socket.accept()
31+ ct = TinySocketClientThread(clientsocket, self.threads)
32+ clientsocket = None
33+ self.threads.append(ct)
34+ ct.start()
35+ lt = len(self.threads)
36+ if (lt > 10) and (lt % 10 == 0):
37+ # Not many threads should be serving at the same time, so log
38+ # their abuse.
39+ _logger.debug("Netrpc: %d threads", len(self.threads))
40+ except Exception, e:
41+ _logger.warning('Exception during main netrpc loop, resuming. Exception: %s', e)
42+ finally:
43+ self.socket.close()
44
45 def stop(self):
46 self.running = False