From 1bbf83bb85a1f1994d27e14681b3a97b404e27a7 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 9 Aug 2006 21:18:15 +0000 Subject: [PATCH] Round microseconds on setitimer upwards. --- src/backend/port/win32/timer.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/backend/port/win32/timer.c b/src/backend/port/win32/timer.c index 048bebb058..62b9105652 100644 --- a/src/backend/port/win32/timer.c +++ b/src/backend/port/win32/timer.c @@ -57,12 +57,9 @@ pg_timer_thread(LPVOID param) waittime = INFINITE; /* Cancel the interrupt */ else { - /* Minimum wait time is 1ms */ - if (timerCommArea.value.it_value.tv_sec == 0 && - timerCommArea.value.it_value.tv_usec < 1000) - timerCommArea.value.it_value.tv_usec = 1000; - /* WaitForSingleObjectEx() uses milliseconds */ - waittime = timerCommArea.value.it_value.tv_usec / 1000 + timerCommArea.value.it_value.tv_sec * 1000; + /* WaitForSingleObjectEx() uses milliseconds, round up */ + waittime = (timerCommArea.value.it_value.tv_usec + 999) / 1000 + + timerCommArea.value.it_value.tv_sec * 1000; } ResetEvent(timerCommArea.event); LeaveCriticalSection(&timerCommArea.crit_sec); -- 2.39.5