Handle connection being reset while reading

This commit is contained in:
Juhani Krekelä 2023-06-16 11:31:49 +03:00
parent 6aa6236031
commit c23f48c329
1 changed files with 6 additions and 1 deletions

View File

@ -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