X-Git-Url: https://git.ralfj.de/saartuer.git/blobdiff_plain/cf244d9312e36b30583da60d3b9918db57ab3610..0644bed139c320b03b54f1e5a4fecadc96fa67c8:/tysock.py diff --git a/tysock.py b/tysock.py index 0984b2a..676f573 100644 --- a/tysock.py +++ b/tysock.py @@ -44,10 +44,11 @@ class TySocket(): self._sock.listen(1) def _answer(self, conn): - def answer(msg): + def answer(msg, lastMsg = True): # this is called in another thread, so it should be quick and not touch the TySocket waynesend(conn, msg) - conn.close() + if lastMsg: + conn.close() return answer def accept(self): @@ -70,8 +71,11 @@ class TySocket(): # _answer will be called, and it will close the connection else: waynesend(conn, 'Command not found') - conn.close() except KeyboardInterrupt: raise # forward Ctrl-C to the outside + except socket.timeout: + # it's okay + logger.info("TySocket: Connection timed out") except Exception as e: logger.critical("TySocket: Something went wrong: %s" % str(e)) + conn.close()