From fc6f170731e2c9a21ffcaac5f0bb5f8156ccd1c9 Mon Sep 17 00:00:00 2001 From: Thomas Roth Date: Thu, 25 Feb 2010 17:49:21 +0100 Subject: [PATCH] Huge speed improvements if more than one request is in the queue. Speeds up every request by 0.1 seconds. --- libmproxy/controller.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libmproxy/controller.py b/libmproxy/controller.py index 4955aae3f..f20d17b41 100644 --- a/libmproxy/controller.py +++ b/libmproxy/controller.py @@ -52,9 +52,14 @@ class Master: def tick(self, q): try: - # Small timeout to prevent pegging the CPU - msg = q.get(timeout=0.01) - self.handle(msg) + # This endless loop is running until the 'Queue.Empty' + # exception is thrown. If more than one request is in + # the queue, this speeds up every request by 0.1 seconds, + # because get_input(..) function is not blocking. + while True: + # Small timeout to prevent pegging the CPU + msg = q.get(timeout=0.01) + self.handle(msg) except Queue.Empty: pass