From 67d169aa1ce9ce435989e1416b94f64652b1883d Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 8 Jul 2009 22:43:18 +0100 Subject: bitbake-dev: Fix to work with python 2.6 by dropping the now uneeded get_request overloaded function and using timeouts instead Signed-off-by: Richard Purdie --- bitbake-dev/lib/bb/xmlrpcserver.py | 46 ++++++++++++++------------------------ 1 file changed, 17 insertions(+), 29 deletions(-) (limited to 'bitbake-dev') diff --git a/bitbake-dev/lib/bb/xmlrpcserver.py b/bitbake-dev/lib/bb/xmlrpcserver.py index 2a23436b65..557f69c996 100644 --- a/bitbake-dev/lib/bb/xmlrpcserver.py +++ b/bitbake-dev/lib/bb/xmlrpcserver.py @@ -115,7 +115,24 @@ class BitBakeXMLRPCServer(SimpleXMLRPCServer): """ self.quit = False while not self.quit: + print "Idle queue length %s" % len(self._idlefuns) + if len(self._idlefuns) == 0: + self.timeout = None + else: + self.timeout = 0 self.handle_request() + print "Idle timeout, running idle functions" + for function, data in self._idlefuns.items(): + try: + retval = function(self, data, False) + if not retval: + del self._idlefuns[function] + except SystemExit: + raise + except: + import traceback + traceback.print_exc() + pass # Tell idle functions we're exiting for function, data in self._idlefuns.items(): @@ -126,32 +143,3 @@ class BitBakeXMLRPCServer(SimpleXMLRPCServer): self.server_close() return - - def get_request(self): - """ - Get next request. Behaves like the parent class unless a waitpid callback - has been set. In that case, we regularly check waitpid when the server is idle - """ - while True: - # wait 500 ms for an xmlrpc request - if DEBUG: - print "DEBUG: select'ing 500ms waiting for an xmlrpc request..." - ifds, ofds, xfds = select.select([self.socket.fileno()], [], [], 0.5) - if ifds: - return self.socket.accept() - # call idle functions only if we're not shutting down atm to prevent a recursion - if not self.quit: - if DEBUG: - print "DEBUG: server is idle -- calling idle functions..." - for function, data in self._idlefuns.items(): - try: - retval = function(self, data, False) - if not retval: - del self._idlefuns[function] - except SystemExit: - raise - except: - import traceback - traceback.print_exc() - pass - -- cgit v1.2.3-54-g00ecf