summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2014-10-12 07:52:11 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2014-10-12 07:52:11 (GMT)
commit0e34dc37379e3c42b19c30410e190966e65f4dad (patch)
tree230db20a3170b0e97c101a074ce5d24754f5d2a3 /Lib/asyncio
parentfa62f4ceddb889d7645c739b049210262e8d39f1 (diff)
downloadcpython-0e34dc37379e3c42b19c30410e190966e65f4dad.zip
cpython-0e34dc37379e3c42b19c30410e190966e65f4dad.tar.gz
cpython-0e34dc37379e3c42b19c30410e190966e65f4dad.tar.bz2
asyncio: enhance protocol representation
Add "closed" or "closing" to repr() of selector and proactor transports
Diffstat (limited to 'Lib/asyncio')
-rw-r--r--Lib/asyncio/proactor_events.py8
-rw-r--r--Lib/asyncio/selector_events.py7
2 files changed, 13 insertions, 2 deletions
diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py
index 0ad0656..7132300 100644
--- a/Lib/asyncio/proactor_events.py
+++ b/Lib/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/Lib/asyncio/selector_events.py b/Lib/asyncio/selector_events.py
index 33de92e..a55eff7 100644
--- a/Lib/asyncio/selector_events.py
+++ b/Lib/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,