diff --git a/src/libCom/osi/os/WIN32/osdEvent.c b/src/libCom/osi/os/WIN32/osdEvent.c index 5feae1c0b..db703c565 100644 --- a/src/libCom/osi/os/WIN32/osdEvent.c +++ b/src/libCom/osi/os/WIN32/osdEvent.c @@ -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 ) { diff --git a/src/libCom/osi/os/WIN32/osdThread.c b/src/libCom/osi/os/WIN32/osdThread.c index c8dae5cb3..841e7789c 100644 --- a/src/libCom/osi/os/WIN32/osdThread.c +++ b/src/libCom/osi/os/WIN32/osdThread.c @@ -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); }