<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>