diff --git a/secop/protocol/interface/tcp.py b/secop/protocol/interface/tcp.py index b4e5e36..f44c00b 100644 --- a/secop/protocol/interface/tcp.py +++ b/secop/protocol/interface/tcp.py @@ -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: