diff Lib/ssl.py @ 60985:7fc211df3d5b legacy-trunk

When calling getpeername() in SSLSocket.__init__, only silence exceptions caused by the "socket not connected" condition.
author Antoine Pitrou <solipsis@pitrou.net>
date Mon, 26 Apr 2010 17:23:33 +0000
parents 76a052eedee6
children fd3abf82ac96
line wrap: on
line diff
--- a/Lib/ssl.py	Mon Apr 26 16:54:57 2010 +0000
+++ b/Lib/ssl.py	Mon Apr 26 17:23:33 2010 +0000
@@ -78,6 +78,7 @@
 from socket import socket, _fileobject, _delegate_methods, error as socket_error
 from socket import getnameinfo as _getnameinfo
 import base64        # for DER-to-PEM translation
+import errno
 
 class SSLSocket(socket):
 
@@ -105,7 +106,9 @@
         # see if it's connected
         try:
             socket.getpeername(self)
-        except socket_error:
+        except socket_error, e:
+            if e.errno != errno.ENOTCONN:
+                raise
             # no, no connection yet
             self._sslobj = None
         else: