diff --git a/src/backend/port/win32/timer.c b/src/backend/port/win32/timer.c index aa945ffcefd..83d23bf67ad 100644 --- a/src/backend/port/win32/timer.c +++ b/src/backend/port/win32/timer.c @@ -11,7 +11,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/port/win32/timer.c,v 1.6.2.3 2006/08/09 20:41:07 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/port/win32/timer.c,v 1.6.2.4 2006/08/09 21:18:15 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);