From 9f0dacca0dedb2fe0cb705e7d67693d6dc01f9de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juhani=20Krekel=C3=A4?= Date: Thu, 26 Oct 2023 22:10:30 +0300 Subject: [PATCH 1/2] Handle timeouts while creating a connection --- ircbot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ircbot.py b/ircbot.py index 8dc3a49..fe7d3f9 100644 --- a/ircbot.py +++ b/ircbot.py @@ -314,7 +314,7 @@ class ServerThread(threading.Thread): self.logging_channel.send((logmessage_types.internal, internal_submessage_types.server, address)) try: self.server_socket = socket.create_connection(address) - except (ConnectionRefusedError, socket.gaierror): + except (ConnectionRefusedError, socket.gaierror, TimeoutError): # Tell controller we failed self.logging_channel.send((logmessage_types.internal, internal_submessage_types.error, "Can't connect to %s:%s" % address)) From c6c8e02a3b0a077eaef8b05caa02c3cdc01ee202 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juhani=20Krekel=C3=A4?= Date: Mon, 12 Feb 2024 19:19:40 +0200 Subject: [PATCH 2/2] Handle connection being reset --- ircbot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ircbot.py b/ircbot.py index fe7d3f9..db02b89 100644 --- a/ircbot.py +++ b/ircbot.py @@ -391,7 +391,7 @@ class ServerThread(threading.Thread): self.server_socket.close() self.server_socket = None - except (BrokenPipeError, TimeoutError) as err: + except (BrokenPipeError, TimeoutError, ConnectionResetError) as err: # Connection broke, log it and try to reconnect self.logging_channel.send((logmessage_types.internal, internal_submessage_types.error, 'Broken socket/pipe or timeout')) self.server_socket.close()