
It's not an issue of error codes. Though error code of WSAEWOULDBLOCK and EAGAIN is different this is not the problem. You've posted a link to preprocessed source code. And there is no implementation of throwErrnoIfMinus1Retry_repeatOnBlock for Windows. This function for Windows treat WSAEWOULDBLOCK as error, and it doesn't have loop for its correct processing. It's not a surprise since the socket isn't supposed to be blocked on windows. Here is source code with setting socket to non-blocking mode [1]. It terminates with error:
UdpEcho.exe: recvFrom: failed (Resource temporarily unavailable (WSAEWOULDBLOCK))
[1] http://hpaste.org/6476
Vitaliy.
2008/3/18, Adam Langley
On Tue, Mar 18, 2008 at 3:41 AM, Vitaliy Akimov
wrote: Unfortunally this way seems to be wrong. Error codes for winsockets and BSD-sockets are different.
Hmm, "Networking broken on Windows" would seem to be a pretty big issue. One of the Windows peeps like to speak up here?
AGL
-- Adam Langley agl@imperialviolet.org http://www.imperialviolet.org