interface/tcp: handle dead connection correctly

Change-Id: Ida4d09dab54ee367508de1e883ecf252369ecc1d
Reviewed-on: https://forge.frm2.tum.de/review/18460
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
This commit is contained in:
Enrico Faulhaber
2018-07-18 12:01:47 +02:00
parent 75e31714b8
commit 37f6d79769

View File

@ -128,7 +128,11 @@ class TCPRequestHandler(socketserver.BaseRequestHandler):
# XXX: improve: use polling/select here?
try:
data = data + mysocket.recv(MAX_MESSAGE_SIZE)
newdata = mysocket.recv(MAX_MESSAGE_SIZE)
if not newdata:
# no timeout error, but no new data -> connection closed
return
data = data + newdata
except socket.timeout as e:
continue
except socket.error as e: