From 3876816f7ce79b40033513af44adbd34983c4760 Mon Sep 17 00:00:00 2001 From: Claudio-Daniel Freire Date: Thu, 25 Aug 2011 16:34:00 +0200 Subject: [PATCH] Forwarder must also forward EOF!! (And server must detect it and re-listen) --- src/nepi/util/server.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/nepi/util/server.py b/src/nepi/util/server.py index 762139a1..fb4bab87 100644 --- a/src/nepi/util/server.py +++ b/src/nepi/util/server.py @@ -221,6 +221,7 @@ class Server(object): def loop(self): while not self._stop: conn, addr = self._ctrl_sock.accept() + self.log_error("ACCEPTED CONNECTION: %s" % (addr,)) conn.settimeout(5) while not self._stop: try: @@ -228,6 +229,10 @@ class Server(object): except socket.timeout, e: self.log_error() break + + if not msg: + self.log_error("CONNECTION LOST") + break if msg == STOP_MSG: self._stop = True @@ -314,8 +319,16 @@ class Forwarder(object): print >>sys.stderr, "FORWARDER_READY." while not self._stop: data = self.read_data() + if not data: + # Connection to client lost + break self.send_to_server(data) + data = self.recv_from_server() + if not data: + # Connection to server lost + raise IOError, "Connection to server lost while "\ + "expecting response" self.write_data(data) self.disconnect() -- 2.47.0