round hibernation delays greater than zero but less than 1mS to 1mS

This commit is contained in:
Jeff Hill
2001-05-18 16:31:07 +00:00
parent 71b3d962cf
commit a0e4aeba1e

View File

@@ -109,7 +109,7 @@ epicsShareFunc void epicsShareAPI epicsEventSignal (epicsEventId id)
}
/*
* epicsEventLock ()
* epicsEventWait ()
*/
epicsShareFunc epicsEventWaitStatus epicsShareAPI epicsEventWait (epicsEventId id)
{
@@ -136,14 +136,17 @@ epicsShareFunc epicsEventWaitStatus epicsShareAPI epicsEventWaitWithTimeout (
DWORD status;
DWORD tmo;
if ( timeOut >= INFINITE / mSecPerSec ) {
tmo = INFINITE - 1;
}
else if ( timeOut < 0.0 ) {
if ( timeOut <= 0.0 ) {
tmo = 0u;
}
else if ( timeOut >= INFINITE / mSecPerSec ) {
tmo = INFINITE - 1;
}
else {
tmo = ( DWORD ) ( ( timeOut * mSecPerSec ) + 0.5 );
if ( tmo == 0 ) {
tmo = 1;
}
}
status = WaitForSingleObject ( pSem->handle, tmo );
if ( status == WAIT_OBJECT_0 ) {