[Python-checkins] GH-88050: fix race in closing subprocess pipe in asyncio (#97951)
gvanrossum
webhook-mailer at python.org
Thu Oct 6 13:18:29 EDT 2022
https://github.com/python/cpython/commit/e2e6b95c0342247ed1a761b6e149ac579a8722dd
commit: e2e6b95c0342247ed1a761b6e149ac579a8722dd
branch: main
author: Kumar Aditya <59607654+kumaraditya303 at users.noreply.github.com>
committer: gvanrossum <gvanrossum at gmail.com>
date: 2022-10-06T10:18:19-07:00
summary:
GH-88050: fix race in closing subprocess pipe in asyncio (#97951)
Check for None when iterating over `self._pipes.values()`.
files:
M Lib/asyncio/base_subprocess.py
diff --git a/Lib/asyncio/base_subprocess.py b/Lib/asyncio/base_subprocess.py
index c2ca4a2792f6..e15bb4141fc0 100644
--- a/Lib/asyncio/base_subprocess.py
+++ b/Lib/asyncio/base_subprocess.py
@@ -216,7 +216,9 @@ def _process_exited(self, returncode):
self._proc.returncode = returncode
self._call(self._protocol.process_exited)
for p in self._pipes.values():
- p.pipe.close()
+ if p is not None:
+ p.pipe.close()
+
self._try_finish()
async def _wait(self):
More information about the Python-checkins
mailing list