From 71b3d962cfae89af85b90ff78799838b7605e954 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Fri, 18 May 2001 16:29:58 +0000 Subject: [PATCH] round hibernation delays greater than zero but less than 1mS to 1 mS --- src/libCom/osi/os/WIN32/osdThread.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/libCom/osi/os/WIN32/osdThread.c b/src/libCom/osi/os/WIN32/osdThread.c index 8f98bfdb7..00d0de0d6 100644 --- a/src/libCom/osi/os/WIN32/osdThread.c +++ b/src/libCom/osi/os/WIN32/osdThread.c @@ -483,14 +483,17 @@ epicsShareFunc void epicsShareAPI epicsThreadSleep ( double seconds ) static const double mSecPerSec = 1000; DWORD milliSecDelay; - if ( seconds >= INFINITE / mSecPerSec ) { - milliSecDelay = INFINITE - 1; - } - else if ( seconds < 0.0 ) { + if ( seconds <= 0.0 ) { milliSecDelay = 0u; } + else if ( seconds >= INFINITE / mSecPerSec ) { + milliSecDelay = INFINITE - 1; + } else { milliSecDelay = ( DWORD ) ( ( seconds * mSecPerSec ) + 0.5 ); + if ( milliSecDelay == 0 ) { + milliSecDelay = 1; + } } Sleep ( milliSecDelay ); }