diff --git a/modules/signals.py b/modules/signals.py index e8af5d83..91b4099e 100644 --- a/modules/signals.py +++ b/modules/signals.py @@ -19,6 +19,7 @@ class Module(ModuleManager.BaseModule): self.events.on("signal.interrupt").call(signum=signum) 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)) diff --git a/src/IRCSocket.py b/src/IRCSocket.py index 463b5174..d62f16c8 100644 --- a/src/IRCSocket.py +++ b/src/IRCSocket.py @@ -148,6 +148,9 @@ class Socket(IRCObject.Object): return sent_lines + def clear_send_buffer(self): + self._queued_lines.clear() + def waiting_send(self) -> bool: return bool(len(self._write_buffer)) or bool(len(self._queued_lines))