From fd512d76456b65c529a5bc58d8cfe73e4a10de7a Mon Sep 17 00:00:00 2001 From: Vincent Michel Date: Thu, 8 Nov 2018 13:21:47 +0100 Subject: bpo-35065: Remove `StreamReaderProtocol._untrack_reader` (#10212) The call to `_untrack_reader` is performed too soon, causing the protocol to forget about the reader before `connection_lost` can run and feed the EOF to the reader. See bpo-35065. --- Lib/asyncio/streams.py | 6 ------ 1 file changed, 6 deletions(-) (limited to 'Lib/asyncio/streams.py') diff --git a/Lib/asyncio/streams.py b/Lib/asyncio/streams.py index 0afc66a473d..33fc303a6ff 100644 --- a/Lib/asyncio/streams.py +++ b/Lib/asyncio/streams.py @@ -227,9 +227,6 @@ class StreamReaderProtocol(FlowControlMixin, protocols.Protocol): self._reject_connection = True self._stream_reader_wr = None - def _untrack_reader(self): - self._stream_reader_wr = None - @property def _stream_reader(self): if self._stream_reader_wr is None: @@ -345,9 +342,6 @@ class StreamWriter: return self._transport.can_write_eof() def close(self): - # a reader can be garbage collected - # after connection closing - self._protocol._untrack_reader() self._transport.close() def is_closing(self): -- cgit v1.2.3