[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