summaryrefslogtreecommitdiff
path: root/eventlet/tpool.py
diff options
context:
space:
mode:
authorDavid Szotten <davidszotten@gmail.com>2014-04-05 17:12:58 +0100
committerSergey Shepelev <temotor@gmail.com>2015-02-21 14:58:46 +0300
commitc43d498f01d47c402b20c1701d7b97da49b53195 (patch)
treeefd784daa25eea47cefe1fce40665a76913d0e23 /eventlet/tpool.py
parenta6ce444265d36fb23361809d40da73caf4864487 (diff)
downloadeventlet-tm2.tar.gz
make sure we return results during killalltm2
since we are about to delete the _rspq
Diffstat (limited to 'eventlet/tpool.py')
-rw-r--r--eventlet/tpool.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/eventlet/tpool.py b/eventlet/tpool.py
index e7f0db1..8d73814 100644
--- a/eventlet/tpool.py
+++ b/eventlet/tpool.py
@@ -292,6 +292,16 @@ def killall():
for thr in _threads:
thr.join()
del _threads[:]
+
+ # return any remaining results
+ while not _rspq.empty():
+ try:
+ (e, rv) = _rspq.get(block=False)
+ e.send(rv)
+ e = rv = None
+ except Empty:
+ pass
+
if _coro is not None:
greenthread.kill(_coro)
_rsock.close()