]> granicus.if.org Git - python/commitdiff
Print out socket errors in HTTPS server thread
authorAntoine Pitrou <solipsis@pitrou.net>
Wed, 13 Oct 2010 11:51:05 +0000 (11:51 +0000)
committerAntoine Pitrou <solipsis@pitrou.net>
Wed, 13 Oct 2010 11:51:05 +0000 (11:51 +0000)
Lib/test/ssl_servers.py

index a0b77b5e43a4f12e74ef65006e170f01f35dea1d..914a943da56a0edbbc300160384ce2fdebb73787 100644 (file)
@@ -2,6 +2,7 @@ import os
 import sys
 import ssl
 import pprint
+import socket
 import threading
 import urllib.parse
 # Rename HTTPServer to _HTTPServer so as to avoid confusion with HTTPSServer.
@@ -31,8 +32,14 @@ class HTTPSServer(_HTTPServer):
 
     def get_request(self):
         # override this to wrap socket with SSL
-        sock, addr = self.socket.accept()
-        sslconn = self.context.wrap_socket(sock, server_side=True)
+        try:
+            sock, addr = self.socket.accept()
+            sslconn = self.context.wrap_socket(sock, server_side=True)
+        except socket.error as e:
+            # socket errors are silenced by the caller, print them here
+            if support.verbose:
+                sys.stderr.write("Got an error:\n%s\n" % e)
+            raise
         return sslconn, addr
 
 class RootedHTTPRequestHandler(SimpleHTTPRequestHandler):