proper rounding improves delay accuracy
This commit is contained in:
@@ -142,7 +142,7 @@ epicsShareFunc epicsEventWaitStatus epicsShareAPI epicsEventWaitWithTimeout (
|
||||
tmo = 0u;
|
||||
}
|
||||
else {
|
||||
tmo = ( DWORD ) ( timeOut * mSecPerSecOsdSem );
|
||||
tmo = ( DWORD ) ( ( timeOut * mSecPerSecOsdSem ) + 0.5 );
|
||||
}
|
||||
status = WaitForSingleObject ( pSem->handle, tmo );
|
||||
if ( status == WAIT_OBJECT_0 ) {
|
||||
|
||||
@@ -481,7 +481,7 @@ epicsShareFunc int epicsShareAPI epicsThreadIsSuspended (epicsThreadId id)
|
||||
epicsShareFunc void epicsShareAPI epicsThreadSleep (double seconds)
|
||||
{
|
||||
static const double mSecPerSec = 1000;
|
||||
DWORD milliSecDelay = (DWORD) (seconds * mSecPerSec);
|
||||
DWORD milliSecDelay = (DWORD) ( (seconds * mSecPerSec) + 0.5 );
|
||||
Sleep (milliSecDelay);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user