[Python-Dev] [Python-checkins] cpython (2.7): Issue #9090 : Error code 10035 calling socket.recv() on a socket with a timeout
Guido van Rossum
guido at python.org
Tue Mar 19 20:55:53 CET 2013
On Tue, Mar 19, 2013 at 11:08 AM, kristjan.jonsson <
python-checkins at python.org> wrote:
> http://hg.python.org/cpython/rev/8ec39bfd1f01
> changeset: 82764:8ec39bfd1f01
> branch: 2.7
> parent: 82740:b10ec5083a53
> user: Kristján Valur Jónsson <sweskman at gmail.com>
> date: Tue Mar 19 10:58:59 2013 -0700
> summary:
> Issue #9090 : Error code 10035 calling socket.recv() on a socket with a
> timeout
> (WSAEWOULDBLOCK - A non-blocking socket operation could not be completed
> immediately)
> [...]
> +- Issue #9090: When a socket with a timeout fails with EWOULDBLOCK or
> EAGAIN,
> + retry the select() loop instead of bailing out. This is because
> select()
> + can incorrectly report a socket as ready for reading (for example, if it
> + received some data with an invalid checksum).
>
Might I recommend treating EINTR the same way? It has the same issue of
popping up, rarely, when you least expect it, and messing with your code.
--
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20130319/29e55b78/attachment.html>
More information about the Python-Dev
mailing list