aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorGravatar jesopo2018-12-03 19:46:15 +0000
committerGravatar jesopo2018-12-03 19:46:15 +0000
commit351a88bda6d8cadebf1e056c7271e10373ccfdd1 (patch)
tree779d45c1f6c102328ee5477092c0d961e4af8af1 /modules
parentre-add check in utils.irc.parse_line that prevents us having an empty string as (diff)
signature
Only gracefully handle SIGINT once
Diffstat (limited to 'modules')
-rw-r--r--modules/signals.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/modules/signals.py b/modules/signals.py
index fa26902e..446f2bd8 100644
--- a/modules/signals.py
+++ b/modules/signals.py
@@ -6,6 +6,7 @@ from src import Config, ModuleManager, utils
"validate": utils.bool_or_none})
class Module(ModuleManager.BaseModule):
def on_load(self):
+ self._exited = False
signal.signal(signal.SIGINT, self.SIGINT)
signal.signal(signal.SIGUSR1, self.SIGUSR1)
@@ -14,6 +15,10 @@ class Module(ModuleManager.BaseModule):
self.bot.trigger(lambda: self._kill(signum))
def _kill(self, signum):
+ if self._exited:
+ return
+ self._exited = True
+
self.events.on("signal.interrupt").call(signum=signum)
for server in self.bot.servers.values():