From b8f778d7bd3072dc5f794d99c40c7e010f1fb915 Mon Sep 17 00:00:00 2001 From: jesopo Date: Wed, 29 May 2019 16:11:47 +0100 Subject: Only try to send QUITs on ctrl+c when we're connected - sys.exit otherwise --- modules/line_handler/core.py | 1 + modules/signals.py | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'modules') diff --git a/modules/line_handler/core.py b/modules/line_handler/core.py index 88544a08..c7212ccf 100644 --- a/modules/line_handler/core.py +++ b/modules/line_handler/core.py @@ -11,6 +11,7 @@ def handle_001(event): event["server"].name = event["prefix"].hostmask event["server"].set_own_nickname(event["args"][0]) event["server"].send_whois(event["server"].nickname) + event["server"].connected = True def handle_005(events, event): isupport_list = event["args"][1:-1] 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) -- cgit v1.3.1-10-gc9f91