summaryrefslogtreecommitdiffstats
path: root/Lib/asyncio
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/asyncio')
-rw-r--r--Lib/asyncio/proactor_events.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py
index 0ecb44e..6d8641f 100644
--- a/Lib/asyncio/proactor_events.py
+++ b/Lib/asyncio/proactor_events.py
@@ -43,12 +43,12 @@ class _ProactorBasePipeTransport(transports._FlowControlMixin,
def __repr__(self):
info = [self.__class__.__name__]
- fd = self._sock.fileno()
- if fd < 0:
+ if self._sock is None:
info.append('closed')
elif self._closing:
info.append('closing')
- info.append('fd=%s' % fd)
+ if self._sock is not None:
+ info.append('fd=%s' % self._sock.fileno())
if self._read_fut is not None:
info.append('read=%s' % self._read_fut)
if self._write_fut is not None:
@@ -72,6 +72,7 @@ class _ProactorBasePipeTransport(transports._FlowControlMixin,
self._loop.call_soon(self._call_connection_lost, None)
if self._read_fut is not None:
self._read_fut.cancel()
+ self._read_fut = None
def _fatal_error(self, exc, message='Fatal error on pipe transport'):
if isinstance(exc, (BrokenPipeError, ConnectionResetError)):
@@ -93,9 +94,10 @@ class _ProactorBasePipeTransport(transports._FlowControlMixin,
self._conn_lost += 1
if self._write_fut:
self._write_fut.cancel()
+ self._write_fut = None
if self._read_fut:
self._read_fut.cancel()
- self._write_fut = self._read_fut = None
+ self._read_fut = None
self._pending_write = 0
self._buffer = None
self._loop.call_soon(self._call_connection_lost, exc)