summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asyncio/base_events.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/asyncio/base_events.py b/asyncio/base_events.py
index 35c8d74..5df5b83 100644
--- a/asyncio/base_events.py
+++ b/asyncio/base_events.py
@@ -634,7 +634,12 @@ class BaseEventLoop(events.AbstractEventLoop):
else:
transport = self._make_socket_transport(sock, protocol, waiter)
- yield from waiter
+ try:
+ yield from waiter
+ except Exception as exc:
+ transport.close()
+ raise
+
return transport, protocol
@coroutine