WINSOCK Select() Incorrectly Returns a Status of Timeout (117755)
The information in this article applies to:
- Microsoft LAN Manager 2.2
- Microsoft LAN Manager 2.2b
This article was previously published under Q117755 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.
Modification Type: | Major | Last Reviewed: | 9/30/2003 |
---|
Keywords: | KB117755 |
---|
|