From c23f48c329c93eef10fc2cdba30eee2df01161b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juhani=20Krekel=C3=A4?= Date: Fri, 16 Jun 2023 11:31:49 +0300 Subject: [PATCH] Handle connection being reset while reading --- ircbot.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ircbot.py b/ircbot.py index 1a0e66d..8dc3a49 100644 --- a/ircbot.py +++ b/ircbot.py @@ -238,7 +238,12 @@ class ServerThread(threading.Thread): if fd == self.server_socket.fileno(): # Ready to receive, read into buffer and handle full messages if event | select.POLLIN: - data = self.server_socket.recv(1024) + try: + data = self.server_socket.recv(1024) + except ConnectionResetError: + self.logging_channel.send((logmessage_types.internal, internal_submessage_types.error, 'Connection reset while reading')) + reconnecting = True + break # No data to be read even as POLLIN triggered → connection has broken # Log it and try reconnecting