aboutsummaryrefslogtreecommitdiff
path: root/modules/signals.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/signals.py')
-rw-r--r--modules/signals.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/modules/signals.py b/modules/signals.py
index 580be9ff..522179c5 100644
--- a/modules/signals.py
+++ b/modules/signals.py
@@ -1,4 +1,4 @@
-import signal
+import signal, sys
from src import Config, ModuleManager, utils
class Module(ModuleManager.BaseModule):
@@ -19,11 +19,17 @@ class Module(ModuleManager.BaseModule):
self.events.on("signal.interrupt").call(signum=signum)
+ written = False
for server in self.bot.servers.values():
- server.socket.clear_send_buffer()
- line = server.send_quit("Shutting down")
- server.send_enabled = False
- line.on_send(self._make_hook(server))
+ if server.connected:
+ server.socket.clear_send_buffer()
+ line = server.send_quit("Shutting down")
+ server.send_enabled = False
+ line.on_send(self._make_hook(server))
+ written = True
+
+ if not written:
+ sys.exit()
def _make_hook(self, server):
return lambda: self.bot.disconnect(server)