diff options
author | Andrew Svetlov <andrew.svetlov@gmail.com> | 2018-09-12 18:43:04 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-12 18:43:04 (GMT) |
commit | a5d1eb8d8b7add31b5f5d9bbb31cee1a491b2c08 (patch) | |
tree | 8ffce2f8bcedaea78a0f0eb9c7e1c25f0a32707a /Lib/asyncio/subprocess.py | |
parent | aca819fb494d4801b3e5b5b507b17cab772c1b40 (diff) | |
download | cpython-a5d1eb8d8b7add31b5f5d9bbb31cee1a491b2c08.zip cpython-a5d1eb8d8b7add31b5f5d9bbb31cee1a491b2c08.tar.gz cpython-a5d1eb8d8b7add31b5f5d9bbb31cee1a491b2c08.tar.bz2 |
bpo-34638: Store a weak reference to stream reader to break strong references loop (GH-9201)
Store a weak reference to stream readerfor breaking strong references
It breaks the strong reference loop between reader and protocol and allows to detect and close the socket if the stream is deleted (garbage collected)
Diffstat (limited to 'Lib/asyncio/subprocess.py')
-rw-r--r-- | Lib/asyncio/subprocess.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Lib/asyncio/subprocess.py b/Lib/asyncio/subprocess.py index 90fc00d..c86de3d 100644 --- a/Lib/asyncio/subprocess.py +++ b/Lib/asyncio/subprocess.py @@ -36,6 +36,11 @@ class SubprocessStreamProtocol(streams.FlowControlMixin, info.append(f'stderr={self.stderr!r}') return '<{}>'.format(' '.join(info)) + def _untrack_reader(self): + # StreamWriter.close() expects the protocol + # to have this method defined. + pass + def connection_made(self, transport): self._transport = transport |