[issue19850] asyncio: limit EINTR occurrences with SA_RESTART

Charles-François Natali report at bugs.python.org
Sun Dec 1 22:09:57 CET 2013


Charles-François Natali added the comment:

> It sounds like doing this is fine (as Glyph suggests in the email thread) but it isn't magically going to solve all EINTR problems, just reduce the number of calls that could encounter them.

Indeed, hence "*limit* EINTR occurrences" :-)

> Note that with this SA_RESTART flag set via siginterrupt you _may_ be making a trade off between being able to process python signal handlers during long reads or writes vs having to wait until the entire thing has finished.

asyncio uses a wakeup FD, registered in the main event loop: so as
soon as a signal is received, the main loop will wake up and run the
signal handler. So this would only be a problem if you were doing a
blocking syscall from the main loop thread, which would be a really
bad idea anyway.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue19850>
_______________________________________


More information about the Python-bugs-list mailing list