TCP/IP-32 Winsock Stops FD_READ Notification

Last reviewed: September 9, 1996
Article ID: Q119575
The information in this article applies to:
  • Microsoft TCP/IP-32 for Windows for Workgroups, version 3.11

SYMPTOMS

FD_READ notification in a Winsock application may stop while the application is running. This may cause data to be left in the input buffer, or, it may cause the application to hang.

This occurs when the application disables and then re-enables FD_READ notification during a period of time while the Windows message queue is full.

CAUSE

The problem is that WINSOCK.DLL does not retry failed PostMessage attempts.

WINSOCK.DLL posts messages whenever WSAAsyncSelect() is called with interest in events that are already active on a socket. For example, if you call WSAAsyncSelect with the FD_READ bit set on a socket which already had read data waiting, WINSOCK.DLL immediately posts an FD_READ message. When the Windows message queue is full, this PostMessage call fails.

RESOLUTION

Microsoft has released a new file, WSOCK.386, that corrects this problem.

STATUS

Microsoft has confirmed this to be a problem in TCP/IP-32. This problem has been corrected in an updated TCP/IP-32 version 3.11a. For information on the availability of TCP/IP-32 3.11a, see article Q122544 in the Microsoft Knowledge Base.


Additional reference words: wfw wfwg prodtcp32 1.00 3.11 3.11a wfw tcpip
KBCategory: kbnetwork kbbug3.11 kbfixTCP/IP-32a
KBSubcategory: nttcp



THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 9, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.