STINNER Victor <[email protected]> added the comment:
It seems like MultiLoopChildWatcher doesn't respect the PEP 475:
siginterrupt(False) must not be used. But the following change isn't enough to
fix this issue (test_close_kill_running hang).
diff --git a/Lib/asyncio/unix_events.py b/Lib/asyncio/unix_events.py
index d8f653045a..887f837bad 100644
--- a/Lib/asyncio/unix_events.py
+++ b/Lib/asyncio/unix_events.py
@@ -1192,9 +1192,6 @@ class MultiLoopChildWatcher(AbstractChildWatcher):
"restore to default handler on watcher close.")
self._saved_sighandler = signal.SIG_DFL
- # Set SA_RESTART to limit EINTR occurrences.
- signal.siginterrupt(signal.SIGCHLD, False)
-
def _do_waitpid_all(self):
for pid in list(self._callbacks):
self._do_waitpid(pid)
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue38323>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com