[issue23715] PEP 475: handle EINTR in the signal module

STINNER Victor report at bugs.python.org
Fri Mar 20 10:03:25 CET 2015


STINNER Victor added the comment:

signal_eintr.py: More complete patch, modify also signal.sigwaitinfo().

--

I don't think that other signal functions need to be modified to handle EINTR.

POSIX manual pages:
- "The pthread_sigmask() function shall not return an error code of [EINTR]."
- "The pthread_kill() function shall not return an error code of [EINTR]."

pause() fails with EINTR when it receives a signal, but signal.pause() doesn't raise InterruptedError in this case, it only returns None, because we expect a signal.

I tested: signal.sigwait([]) doesn't fail with EINTR with a signal is received. No need to modify this function.

On Linux, signal.set_wakeup_fd() doesn't fail with InterruptedError.

----------
Added file: http://bugs.python.org/file38588/signal_eintr.patch

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


More information about the Python-bugs-list mailing list