WINSOCK.DLL Asynchronous Send() Doesn't Signal WSAEWOULDBLOCK (123211)



The information in this article applies to:

  • Microsoft LAN Manager 2.2b
  • Microsoft Windows for Workgroups 3.11

This article was previously published under Q123211

SYMPTOMS

Applications which issue asynchronous send()'s against Microsoft's Real Mode TCP/IP WINSOCK.DLL fail or hang your computer.

CAUSE

The WINSOCK.DLL distributed with the Real Mode TCP/IP from LAN Manager 2.2b and the Windows for Workgroups 3.11 Connectivity Add-On does not have the code to set:
   errno = WSAEWOULDBLOCK
				

-and-

   SOCKET_ERROR = -1
				
when the out buffer is full on send() calls to an asynchronous socket.

RESOLUTION

Code was added to Microsoft's Real Mode TCP/IP WINSOCK.DLL to handle the above condition.

STATUS

Microsoft has confirmed this to be a problem in Lan Manager 2.2b and Windows for Workgroups 3.11 Connectivity Add-On. A fix to this problem is in development, but has not been regression-tested and may be destabilizing in production environments. Microsoft does not recommend implementing this fix at this time. Contact Microsoft Product Support Services for more information on the availability of this fix.

Modification Type:MajorLast Reviewed:10/23/2003
Keywords:KB123211