fixed time calculation overflow

This commit is contained in:
Jeff Hill
2001-02-15 17:21:28 +00:00
parent c82ea31a40
commit 9e52a5b095

View File

@@ -135,12 +135,20 @@ epicsShareFunc epicsEventWaitStatus epicsShareAPI epicsEventWaitWithTimeout (
DWORD status;
DWORD tmo;
tmo = (DWORD) (timeOut * mSecPerSecOsdSem);
status = WaitForSingleObject (pSem->handle, tmo);
if ( timeOut >= 0xffffffff / mSecPerSecOsdSem ) {
tmo = 0xfffffffe;
}
else if ( timeOut < 0.0 ) {
tmo = 0u;
}
else {
tmo = ( DWORD ) ( timeOut * mSecPerSecOsdSem );
}
status = WaitForSingleObject ( pSem->handle, tmo );
if ( status == WAIT_OBJECT_0 ) {
return epicsEventWaitOK;
}
else if (status == WAIT_TIMEOUT) {
else if ( status == WAIT_TIMEOUT ) {
return epicsEventWaitTimeout;
}
else {