From 8f73c88c7cc048fb2873109e8d8ff813759102c4 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 9 Aug 2006 17:47:03 +0000 Subject: [PATCH] Fix statement_timeout on Win32 so that it properly treats micro-seconds as micro-seconds, rather than as 100 microseconds, as it does now. This actually fixes all setitimer calls on Win32, but statement_timeout is the most visible fix. Backpatch to 8.1.X. 8.0 works as documented. --- src/backend/port/win32/timer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/port/win32/timer.c b/src/backend/port/win32/timer.c index 1531007d9e0..0a38f00858e 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.9 2006/08/09 17:33:52 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/port/win32/timer.c,v 1.10 2006/08/09 17:47:03 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -56,7 +56,8 @@ pg_timer_thread(LPVOID param) timerCommArea.value.it_value.tv_usec == 0) waittime = INFINITE; /* Cancel the interrupt */ else - waittime = timerCommArea.value.it_value.tv_usec / 10 + timerCommArea.value.it_value.tv_sec * 1000; + /* WaitForSingleObjectEx() uses milliseconds */ + waittime = timerCommArea.value.it_value.tv_usec / 1000 + timerCommArea.value.it_value.tv_sec * 1000; ResetEvent(timerCommArea.event); LeaveCriticalSection(&timerCommArea.crit_sec); }