diff options
| author | 2019-05-29 16:11:47 +0100 | |
|---|---|---|
| committer | 2019-05-29 16:11:47 +0100 | |
| commit | b8f778d7bd3072dc5f794d99c40c7e010f1fb915 (patch) | |
| tree | 6c1ec578e5f6d8358c39e3d081841626fd3aeb25 /modules/signals.py | |
| parent | Switch resume.py to use the last `server-time` it saw, not last .recv() (diff) | |
Only try to send QUITs on ctrl+c when we're connected - sys.exit otherwise
Diffstat (limited to 'modules/signals.py')
| -rw-r--r-- | modules/signals.py | 16 |
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) |
