WINSOCK.DLL Asynch. Send() Doesn't Signal WSAEWOULDBLOCK (134254)
The information in this article applies to:
- Microsoft LAN Manager 2.2
- Microsoft Windows for Workgroups 3.11
This article was previously published under Q134254 SYMPTOMS
Applications issuing asynchronous send() calls to LAN Manager's real mode
TCP/IP WINSOCK.DLL fail.
CAUSE
The WINSOCK.DLL file included in the real mode TCP/IP protocol from LAN
Manager and Windows for Workgroups 3.11 does not "set errno =
WSAEWOULDBLOCK" and "SOCKET_ERROR = -1" when the out buffer is full on
send() calls to an asynchronous socket.
RESOLUTION
Use Microsoft TCP/IP-32 for Windows for Workgroups, a protected mode VxD
TCP/IP and its accompanying WINSOCK.DLL or test for the condition where
send() on an asynchronous socket returns 0 bytes written and periodically
issue select() on the socket until your application is able to send()
again.
STATUS
Microsoft has confirmed this to be a problem in LAN Manager 2.2b and Windows
for Workgroups 3.11. 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: | Major | Last Reviewed: | 10/23/2003 |
---|
Keywords: | KB134254 |
---|
|