◐ Shell
clean mode source ↗

Message 137357 - Python tracker

If socket timeout > 0, then there is no way to automatically
restart some socket calls like recv(). 
Calling siginterrupt(False) is useless, because python calls
internal_select() if socket has timeout, and select returns
error(EINTR) once interrupted by a signal, regardless of the
SA_RESTART flags.

So a user may have to wrap every socket calls in this case.

I found some related discussions in http://bugs.python.org/issue7978