summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles-François Natali <cf.natali@gmail.com>2013-12-05 22:47:19 +0100
committerCharles-François Natali <cf.natali@gmail.com>2013-12-05 22:47:19 +0100
commit74e7cf3f4664204927b2bd3dd9facc2ac7649715 (patch)
treefd1db7f1957df6a66bbe25a59c6b488a29e482f3
parent0a956f1aec601a976234011fda075006681bdb82 (diff)
downloadcpython-git-74e7cf3f4664204927b2bd3dd9facc2ac7649715.tar.gz
Issue #19850: asyncio: Set SA_RESTART when registering a signal handler to
limit EINTR occurrences.
-rw-r--r--Lib/asyncio/unix_events.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/Lib/asyncio/unix_events.py b/Lib/asyncio/unix_events.py
index b611efd17d..eb3fb9f91c 100644
--- a/Lib/asyncio/unix_events.py
+++ b/Lib/asyncio/unix_events.py
@@ -74,6 +74,8 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
try:
signal.signal(sig, self._handle_signal)
+ # Set SA_RESTART to limit EINTR occurrences.
+ signal.siginterrupt(sig, False)
except OSError as exc:
del self._signal_handlers[sig]
if not self._signal_handlers: