detect overrange in sleep

This commit is contained in:
Jeff Hill
2001-05-01 17:01:50 +00:00
parent 92d922d446
commit 68f40981a3
+12 -2
View File
@@ -481,8 +481,18 @@ epicsShareFunc int epicsShareAPI epicsThreadIsSuspended (epicsThreadId id)
epicsShareFunc void epicsShareAPI epicsThreadSleep (double seconds)
{
static const double mSecPerSec = 1000;
DWORD milliSecDelay = (DWORD) ( (seconds * mSecPerSec) + 0.5 );
Sleep (milliSecDelay);
DWORD milliSecDelay;
if ( seconds >= INFINITE / mSecPerSec ) {
milliSecDelay = INFINITE - 1;
}
else if ( seconds < 0.0 ) {
milliSecDelay = 0u;
}
else {
milliSecDelay = ( DWORD ) ( ( seconds * mSecPerSec ) + 0.5 );
}
Sleep ( milliSecDelay );
}
/*