Issue #23242: asyncio.SubprocessStreamProtocol now closes the subprocess
transport at subprocess exit.
Clear also its reference to the transport.
diff --git a/Lib/asyncio/subprocess.py b/Lib/asyncio/subprocess.py
index a028339..c848a21 100644
--- a/Lib/asyncio/subprocess.py
+++ b/Lib/asyncio/subprocess.py
@@ -94,8 +94,11 @@
reader.set_exception(exc)
def process_exited(self):
- # wake up futures waiting for wait()
returncode = self._transport.get_returncode()
+ self._transport.close()
+ self._transport = None
+
+ # wake up futures waiting for wait()
while self._waiters:
waiter = self._waiters.popleft()
if not waiter.cancelled():