STINNER Victor added the comment:

> - I've learned that MSG_WAITALL may be unreliable on certain systems, so any 
> implementation of recvall depending on MSG_WAITALL may inexplicably fail on 
> such systems

Something else occurred since 5 years: the PEP 475 was accepted, it makes 
Python more reliable when it receives signals.

If recv(WAIT_ALL) is interrupted by a signal and returns less bytes, we must 
call PyErr_CheckSignal(). If the signal handler raises an exception, drop read 
data and raises the exception. If the signal handler does not raise an 
exception, we now *must* retry recv(WAIT_ALL) (with a shorter length, to not 
read too much data).

The IncompleteRead exception is still needed if the socket is closed before 
receiving the requested number of bytes.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue1103213>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to