Merged revisions 80509 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r80509 | antoine.pitrou | 2010-04-26 19:29:05 +0200 (lun., 26 avril 2010) | 10 lines

  Merged revisions 80507 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk

  ........
    r80507 | antoine.pitrou | 2010-04-26 19:23:33 +0200 (lun., 26 avril 2010) | 4 lines

    When calling getpeername() in SSLSocket.__init__, only silence exceptions
    caused by the "socket not connected" condition.
  ........
................
diff --git a/Lib/ssl.py b/Lib/ssl.py
index caee2e5..59aff87 100644
--- a/Lib/ssl.py
+++ b/Lib/ssl.py
@@ -81,6 +81,7 @@
 from socket import socket, AF_INET, SOCK_STREAM
 import base64        # for DER-to-PEM translation
 import traceback
+import errno
 
 class SSLSocket(socket):
 
@@ -115,7 +116,9 @@
         # see if it's connected
         try:
             socket.getpeername(self)
-        except socket_error:
+        except socket_error as e:
+            if e.errno != errno.ENOTCONN:
+                raise
             # no, no connection yet
             self._sslobj = None
         else: