From: Victor Stinner Date: Thu, 20 Feb 2014 15:43:09 +0000 (+0100) Subject: asyncio: Fix _check_resolved_address() for IPv6 address X-Git-Tag: v3.4.1rc1~233^2~262 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=013dece44daf2483c2ba2771d7d01de28f33ab50;p=thirdparty%2FPython%2Fcpython.git asyncio: Fix _check_resolved_address() for IPv6 address --- diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index 69caa4d72377..1615ecbf42ad 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -45,10 +45,13 @@ def _check_resolved_address(sock, address): # Ensure that the address is already resolved to avoid the trap of hanging # the entire event loop when the address requires doing a DNS lookup. family = sock.family - if family not in (socket.AF_INET, socket.AF_INET6): + if family == socket.AF_INET: + host, port = address + elif family == socket.AF_INET6: + host, port, flow_info, scope_id = address + else: return - host, port = address type_mask = 0 if hasattr(socket, 'SOCK_NONBLOCK'): type_mask |= socket.SOCK_NONBLOCK