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: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=74e7cf3f4664204927b2bd3dd9facc2ac7649715;p=thirdparty%2FPython%2Fcpython.git 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 b611efd17d14..eb3fb9f91c08 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: