From: Charles-François Natali Date: Thu, 5 Dec 2013 21:47:19 +0000 (+0100) Subject: Issue #19850: asyncio: Set SA_RESTART when registering a signal handler to X-Git-Tag: v3.4.0b2~331 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=74e7cf3f4664204927b2bd3dd9facc2ac7649715;p=python Issue #19850: asyncio: Set SA_RESTART when registering a signal handler to limit EINTR occurrences. --- 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: