From: Bruce Momjian Date: Wed, 9 Aug 2006 21:18:13 +0000 (+0000) Subject: Round microseconds on setitimer upwards. X-Git-Tag: REL8_2_BETA1~356 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6a7d3d093e3b925232af8fb1e219ee3e3e0757c3;p=thirdparty%2Fpostgresql.git Round microseconds on setitimer upwards. --- diff --git a/src/backend/port/win32/timer.c b/src/backend/port/win32/timer.c index 88d4b6d5857..384ca9d4516 100644 --- a/src/backend/port/win32/timer.c +++ b/src/backend/port/win32/timer.c @@ -11,7 +11,7 @@ * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/port/win32/timer.c,v 1.11 2006/08/09 20:40:56 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/port/win32/timer.c,v 1.12 2006/08/09 21:18:13 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -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);