The version in trunk/ is correct; the problem with 3.0 is that
None cannot be used as a marker in a PriorityQueue, because it cannot be compared with ints.
def worker(self, q):
while True:
x = q.get()
- if x is None:
+ if x < 0:
q.task_done()
return
with self.cumlock:
q.join()
self.assertEquals(self.cum, sum(range(100)),
"q.join() did not block until all tasks were done")
- q.put(None) # instruct the threads to close
+ for i in (0,1):
+ q.put(-1) # instruct the threads to close
q.join() # verify that you can join twice
def test_queue_task_done(self):