From: Mike Bayer Date: Sat, 30 Nov 2013 21:54:44 +0000 (-0500) Subject: make sure thread.join() is used completely here X-Git-Tag: rel_0_9_0~63 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=604df86190359c8516594a21c42be0cdf10b6492;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git make sure thread.join() is used completely here --- diff --git a/test/engine/test_pool.py b/test/engine/test_pool.py index a59a040d65..c395dd8258 100644 --- a/test/engine/test_pool.py +++ b/test/engine/test_pool.py @@ -899,12 +899,12 @@ class QueuePoolTest(PoolTestBase): c1 = p.connect() c2 = p.connect() - threads = set() + threads = [] for i in range(2): t = threading.Thread(target=waiter, args=(p, timeout, max_overflow)) t.start() - threads.add(t) + threads.append(t) c1.invalidate() c2.invalidate() @@ -938,14 +938,18 @@ class QueuePoolTest(PoolTestBase): c1 = p1.connect() + threads = [] for i in range(5): t = threading.Thread(target=waiter, args=(p1, )) - t.setDaemon(True) t.start() + threads.append(t) time.sleep(.5) eq_(canary, [1]) p1._pool.abort(p2) - time.sleep(1) + + for t in threads: + t.join(join_timeout) + eq_(canary, [1, 2, 2, 2, 2, 2]) def test_dispose_closes_pooled(self):