]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake-dev: Fix to work with python 2.6 by dropping the now uneeded get_request...
authorRichard Purdie <rpurdie@linux.intel.com>
Wed, 8 Jul 2009 21:43:18 +0000 (22:43 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Wed, 8 Jul 2009 21:43:18 +0000 (22:43 +0100)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake-dev/lib/bb/xmlrpcserver.py

index 2a23436b65f8c8ccab869b5e910a9d566979c53d..557f69c99686fecbbdabe2a80d773b58d51110f5 100644 (file)
@@ -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
-