diff options
| author | Antoine Pitrou <solipsis@pitrou.net> | 2010-09-07 21:22:56 (GMT) |
|---|---|---|
| committer | Antoine Pitrou <solipsis@pitrou.net> | 2010-09-07 21:22:56 (GMT) |
| commit | 4d7979be72ed728f3b334037d59a218314c28550 (patch) | |
| tree | 547e79227acbfbaa4733f7885977e8f6fa26f8a9 /Lib/socket.py | |
| parent | 824cf253e5c5085be1e29b044b6e2c0cad872080 (diff) | |
| download | cpython-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.py | 11 |
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") |
