Signed-off-by: Christian Heimes <christian@python.org>
threading.Thread.start(self)
def run(self):
- self.sock.settimeout(0.05)
- self.sock.listen()
+ self.sock.settimeout(1.0)
+ self.sock.listen(5)
self.active = True
if self.flag:
# signal an event
handler = self.ConnectionHandler(self, newconn, connaddr)
handler.start()
handler.join()
- except TimeoutError:
- pass
+ except TimeoutError as e:
+ if support.verbose:
+ sys.stdout.write(f' connection timeout {e!r}\n')
except KeyboardInterrupt:
self.stop()
except BaseException as e:
sys.stdout.write(
' connection handling failed: ' + repr(e) + '\n')
- self.sock.close()
+ self.close()
+
+ def close(self):
+ if self.sock is not None:
+ self.sock.close()
+ self.sock = None
def stop(self):
self.active = False