<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 19, 2013 at 11:08 AM, kristjan.jonsson <span dir="ltr"><<a href="mailto:python-checkins@python.org" target="_blank">python-checkins@python.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><a href="http://hg.python.org/cpython/rev/8ec39bfd1f01" target="_blank">http://hg.python.org/cpython/rev/8ec39bfd1f01</a><br>
changeset: 82764:8ec39bfd1f01<br>
branch: 2.7<br>
parent: 82740:b10ec5083a53<br>
user: Kristján Valur Jónsson <<a href="mailto:sweskman@gmail.com">sweskman@gmail.com</a>><br>
date: Tue Mar 19 10:58:59 2013 -0700<br>
summary:<br>
Issue #9090 : Error code 10035 calling socket.recv() on a socket with a timeout<br>
(WSAEWOULDBLOCK - A non-blocking socket operation could not be completed<br>
immediately)<br>
[...]<br>
+- Issue #9090: When a socket with a timeout fails with EWOULDBLOCK or EAGAIN,<br>
+ retry the select() loop instead of bailing out. This is because select()<br>
+ can incorrectly report a socket as ready for reading (for example, if it<br>
+ received some data with an invalid checksum).<br clear="all"></blockquote></div><br></div><div class="gmail_extra">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.<br>
</div><div class="gmail_extra"><br>-- <br>--Guido van Rossum (<a href="http://python.org/~guido">python.org/~guido</a>)
</div></div>