From 35e0890563d1034653f3720eb1027075cc799968 Mon Sep 17 00:00:00 2001 From: nemunaire Date: Fri, 23 Jun 2017 20:07:22 +0200 Subject: [PATCH] Handle multiple SIGTERM --- nemubot/bot.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/nemubot/bot.py b/nemubot/bot.py index 3553ecd..7ec3b30 100644 --- a/nemubot/bot.py +++ b/nemubot/bot.py @@ -149,6 +149,8 @@ class Bot(threading.Thread): def run(self): + global sync_queue + self._poll.register(sync_queue._reader, select.POLLIN | select.POLLPRI) logger.info("Starting main loop") @@ -222,6 +224,7 @@ class Bot(threading.Thread): c = Consumer(self) self.cnsr_thrd.append(c) c.start() + sync_queue = None logger.info("Ending main loop") @@ -566,9 +569,10 @@ class Bot(threading.Thread): self.datastore.close() - self.stop = True - sync_act("end") - sync_queue.join() + if self.stop is False or sync_queue is not None: + self.stop = True + sync_act("end") + sync_queue.join() # Treatment