From: Vinay Sajip Date: Mon, 23 May 2011 20:37:54 +0000 (+0100) Subject: Issue #12151: Added diagnostics to help diagnose intermittent socket errors. X-Git-Tag: v3.3.0a1~2183^2~141^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ba980db797892e771e9d66e9bd0468cdd2c73115;p=python Issue #12151: Added diagnostics to help diagnose intermittent socket errors. --- diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 3118065a76..6c66ff109c 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -893,14 +893,29 @@ if threading: def handle(self): self.server._handler(self) + + def finish(self): + data = self.wfile.getvalue() + try: + super(DelegatingUDPRequestHandler, self).finish() + except socket.error: + msg = ('Error during finish, while sending %r, ' + 'closed = %s') + print(msg % (data, self._closed), file=sys.stderr) + raise + ThreadingUDPServer.__init__(self, addr, DelegatingUDPRequestHandler, bind_and_activate) ControlMixin.__init__(self, handler, poll_interval) + self._closed = False def server_bind(self): super(TestUDPServer, self).server_bind() self.port = self.socket.getsockname()[1] + def server_close(self): + super(TestUDPServer, self).server_close() + self._closed = True # - end of server_helper section