aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2019-03-05 11:34:22 +0000
committerGravatar jesopo2019-03-05 11:35:24 +0000
commit11c4d701569df7cd645115be5aaffe77f95166b6 (patch)
treef2078a1805c2d473764e5909a49f73cacd10cff4
parentadd IRCServer.send_enabled, to prevent sending after QUIT in signals.py (diff)
signature
add IRCServer.clear_send_buffer() to clear queued lines
-rw-r--r--modules/signals.py1
-rw-r--r--src/IRCSocket.py3
2 files changed, 4 insertions, 0 deletions
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))