mirror of
https://github.com/python/cpython.git
synced 2024-11-26 03:14:27 +08:00
Prevent test_queue from leaking: one worker thread was not stopped.
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.
This commit is contained in:
parent
36e6310e39
commit
b4febc7933
@ -144,7 +144,7 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin):
|
||||
def worker(self, q):
|
||||
while True:
|
||||
x = q.get()
|
||||
if x is None:
|
||||
if x < 0:
|
||||
q.task_done()
|
||||
return
|
||||
with self.cumlock:
|
||||
@ -160,7 +160,8 @@ class BaseQueueTest(unittest.TestCase, BlockingTestMixin):
|
||||
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):
|
||||
|
Loading…
Reference in New Issue
Block a user