summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio/proactor_events.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-02-13 08:24:37 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-02-13 08:24:37 (GMT)
commit28773465e699b4a9a2e6411de80fb06d2652d3e3 (patch)
tree9f0c79dd40fbda255c523149ccffb2e1e7c43e4e /Lib/asyncio/proactor_events.py
parent7dfaa27fddb57ffcaf79bf21c49fd2a2cd741ab9 (diff)
downloadcpython-28773465e699b4a9a2e6411de80fb06d2652d3e3.zip
cpython-28773465e699b4a9a2e6411de80fb06d2652d3e3.tar.gz
cpython-28773465e699b4a9a2e6411de80fb06d2652d3e3.tar.bz2
ayncio, Tulip issue 129: BaseEventLoop.sock_connect() now raises an error if
the address is not resolved (hostname instead of an IP address) for AF_INET and AF_INET6 address families.
Diffstat (limited to 'Lib/asyncio/proactor_events.py')
-rw-r--r--Lib/asyncio/proactor_events.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py
index 74566b2..5de4d3d 100644
--- a/Lib/asyncio/proactor_events.py
+++ b/Lib/asyncio/proactor_events.py
@@ -404,7 +404,14 @@ class BaseProactorEventLoop(base_events.BaseEventLoop):
return self._proactor.send(sock, data)
def sock_connect(self, sock, address):
- return self._proactor.connect(sock, address)
+ try:
+ base_events._check_resolved_address(sock, address)
+ except ValueError as err:
+ fut = futures.Future(loop=self)
+ fut.set_exception(err)
+ return fut
+ else:
+ return self._proactor.connect(sock, address)
def sock_accept(self, sock):
return self._proactor.accept(sock)