diff options
-rw-r--r-- | asyncio/proactor_events.py | 8 | ||||
-rw-r--r-- | asyncio/selector_events.py | 7 |
2 files changed, 13 insertions, 2 deletions
diff --git a/asyncio/proactor_events.py b/asyncio/proactor_events.py index 0ad0656..7132300 100644 --- a/asyncio/proactor_events.py +++ b/asyncio/proactor_events.py @@ -42,7 +42,13 @@ class _ProactorBasePipeTransport(transports._FlowControlMixin, self._loop.call_soon(waiter._set_result_unless_cancelled, None) def __repr__(self): - info = [self.__class__.__name__, 'fd=%s' % self._sock.fileno()] + info = [self.__class__.__name__] + fd = self._sock.fileno() + if fd < 0: + info.append('closed') + elif self._closing: + info.append('closing') + info.append('fd=%s' % fd) if self._read_fut is not None: info.append('read=%s' % self._read_fut) if self._write_fut is not None: diff --git a/asyncio/selector_events.py b/asyncio/selector_events.py index 33de92e..a55eff7 100644 --- a/asyncio/selector_events.py +++ b/asyncio/selector_events.py @@ -467,7 +467,12 @@ class _SelectorTransport(transports._FlowControlMixin, self._server._attach() def __repr__(self): - info = [self.__class__.__name__, 'fd=%s' % self._sock_fd] + info = [self.__class__.__name__] + if self._sock is None: + info.append('closed') + elif self._closing: + info.append('closing') + info.append('fd=%s' % self._sock_fd) # test if the transport was closed if self._loop is not None: polling = _test_selector_event(self._loop._selector, |