Skip to content
This repository was archived by the owner on Nov 23, 2017. It is now read-only.

Commit d79f52c

Browse files
author
Vincent Michel
committed
Protect socket.getsockname against OSError in _SelectorTransport
This might happen on Windows if the socket is not connected (e.g. for UDP broadcasting)
1 parent 2799ca3 commit d79f52c

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

asyncio/selector_events.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,10 @@ class _SelectorTransport(transports._FlowControlMixin,
553553
def __init__(self, loop, sock, protocol, extra=None, server=None):
554554
super().__init__(extra, loop)
555555
self._extra['socket'] = sock
556-
self._extra['sockname'] = sock.getsockname()
556+
try:
557+
self._extra['sockname'] = sock.getsockname()
558+
except socket.error:
559+
self._extra['sockname'] = None
557560
if 'peername' not in self._extra:
558561
try:
559562
self._extra['peername'] = sock.getpeername()

0 commit comments

Comments
 (0)