summaryrefslogtreecommitdiffstats
path: root/Lib/socket.py
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-09-07 21:22:56 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-09-07 21:22:56 (GMT)
commit4d7979be72ed728f3b334037d59a218314c28550 (patch)
tree547e79227acbfbaa4733f7885977e8f6fa26f8a9 /Lib/socket.py
parent824cf253e5c5085be1e29b044b6e2c0cad872080 (diff)
downloadcpython-4d7979be72ed728f3b334037d59a218314c28550.zip
cpython-4d7979be72ed728f3b334037d59a218314c28550.tar.gz
cpython-4d7979be72ed728f3b334037d59a218314c28550.tar.bz2
Merged revisions 84597-84599 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r84597 | antoine.pitrou | 2010-09-07 22:42:19 +0200 (mar., 07 sept. 2010) | 5 lines Issue #8574: better implementation of test.support.transient_internet(). Original patch by Victor. ........ r84598 | antoine.pitrou | 2010-09-07 23:05:49 +0200 (mar., 07 sept. 2010) | 6 lines Issue #9792: In case of connection failure, socket.create_connection() would swallow the exception and raise a new one, making it impossible to fetch the original errno, or to filter timeout errors. Now the original error is re-raised. ........ r84599 | antoine.pitrou | 2010-09-07 23:09:09 +0200 (mar., 07 sept. 2010) | 4 lines Improve transient_internet() again to detect more network errors, and use it in test_robotparser. Fixes #8574. ........
Diffstat (limited to 'Lib/socket.py')
-rw-r--r--Lib/socket.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/Lib/socket.py b/Lib/socket.py
index be019db..a2df891 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -287,8 +287,8 @@ def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT):
is used.
"""
- msg = "getaddrinfo returns an empty list"
host, port = address
+ err = None
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
af, socktype, proto, canonname, sa = res
sock = None
@@ -299,9 +299,12 @@ def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT):
sock.connect(sa)
return sock
- except error as err:
- msg = err
+ except error as _:
+ err = _
if sock is not None:
sock.close()
- raise error(msg)
+ if err is not None:
+ raise err
+ else:
+ raise error("getaddrinfo returns an empty list")