clean threads before exiting

This commit is contained in:
benoitc 2015-01-30 06:53:11 +01:00
parent 1a1c88deff
commit 8936d82747

View File

@ -100,6 +100,14 @@ class ThreadWorker(base.Worker):
self._lock = RLock()
super(ThreadWorker, self).init_process()
def handle_quit(self, sig, frame):
self.alive = False
# worker_int callback
self.cfg.worker_int(self)
self.tpool.shutdown(False)
time.sleep(0.1)
sys.exit(0)
def _wrap_future(self, fs, conn):
fs.conn = conn
self.futures.append(fs)
@ -210,14 +218,12 @@ class ThreadWorker(base.Worker):
if not result.done:
break
else:
[self.futures.remove(f) for f in result.done]
self.tpool.shutdown(False)
self.poller.close()
def finish_request(self, fs):
if fs.cancelled():
fs.conn.close()