summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgproc.py5
-rw-r--r--bgproc_tests.py1
2 files changed, 5 insertions, 1 deletions
diff --git a/bgproc.py b/bgproc.py
index 690880c..940f0ae 100644
--- a/bgproc.py
+++ b/bgproc.py
@@ -47,7 +47,10 @@ class BackgroundProcessing(object):
because all requests have been processed.
'''
- for request in self.requests:
+
+ while self.requests:
+ request = self.requests.pop(0)
+ self.pending_requests -= 1
self.results.append(self.func(request))
return len(self.results) > 0
diff --git a/bgproc_tests.py b/bgproc_tests.py
index dc6c79e..74f1ff1 100644
--- a/bgproc_tests.py
+++ b/bgproc_tests.py
@@ -50,4 +50,5 @@ class BackgroundProcessingTests(unittest.TestCase):
self.assertEqual(self.bg.wait_for_results(), True)
self.assertEqual(list(self.bg), [1])
self.assertEqual(list(self.bg), [])
+ self.assertEqual(self.bg.pending_requests, 0)