WINSOCK Select() Incorrectly Returns a Status of Timeout

ID: Q117755


The information in this article applies to:
  • Microsoft LAN Manager, versions 2.2, 2.2b


SYMPTOMS

The WINSOCK select() routine may incorrectly return a timeout status (0). For example: you call select() and specify a timeout value of 9999 seconds. If none of the sockets passed in the read and write descriptors are ready for reading or writing, the call should block. However, it sometimes returns immediately with a status of timeout.


CAUSE

An integer overflow when converting seconds to milliseconds prevented a section of code executing.


RESOLUTION

WINSOCK.DLL has been changed to correctly convert seconds to milliseconds.


STATUS

Microsoft has confirmed this to be a problem in LAN Manager versions 2.2 and 2.2b. 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: tcp/ip

Keywords :
Version : :2.2,2.2b
Platform :
Issue type :


Last Reviewed: November 5, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.