Berkeley description: An operation that takes a long
time to complete (such as a)
was attempted on a non-blocking socket. (see ioctl()).
WinSock description: The Windows Sockets definition of
this error is very different from Berkeley. WinSock only allows
a single blocking operation to be outstanding per task (or thread), and
if you make any other function call (whether or not it references that
or any other socket) the function fails with the WSAEINPROGRESS error.
It means that there is a blocking operation outstanding.
It is also possible that WinSock might return this error after
an application calls a
second time on a non-blocking socket while the connection is pending
(i.e. after the first failed with WSAEWOULDBLOCK). This is what occurs
in Berkeley Sockets.