asyncio: Fix _check_resolved_address() for IPv6 address

This commit is contained in:
Victor Stinner 2014-02-20 16:43:09 +01:00
parent da492a8c39
commit 013dece44d
1 changed files with 5 additions and 2 deletions

View File

@ -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