diff options
-rw-r--r-- | bitbake/lib/bb/server/xmlrpc.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py index afe3dfe5df..17f3d9d906 100644 --- a/bitbake/lib/bb/server/xmlrpc.py +++ b/bitbake/lib/bb/server/xmlrpc.py | |||
@@ -235,6 +235,7 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): | |||
235 | fds = [self] | 235 | fds = [self] |
236 | nextsleep = 0.1 | 236 | nextsleep = 0.1 |
237 | for function, data in self._idlefuns.items(): | 237 | for function, data in self._idlefuns.items(): |
238 | retval = None | ||
238 | try: | 239 | try: |
239 | retval = function(self, data, False) | 240 | retval = function(self, data, False) |
240 | if retval is False: | 241 | if retval is False: |
@@ -248,6 +249,9 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer): | |||
248 | except: | 249 | except: |
249 | import traceback | 250 | import traceback |
250 | traceback.print_exc() | 251 | traceback.print_exc() |
252 | if retval == None: | ||
253 | # the function execute failed; delete it | ||
254 | del self._idlefuns[function] | ||
251 | pass | 255 | pass |
252 | 256 | ||
253 | socktimeout = self.socket.gettimeout() or nextsleep | 257 | socktimeout = self.socket.gettimeout() or nextsleep |