Knowledge Base

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

Article ID: 123211

Article Last Modified on 10/23/2003


APPLIES TO


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.

Additional query words: wfw wfwg prodlm 2.2b, 2.20

Keywords: KB123211