git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 64214a2)
On Win32, make minimum setitimer() sleep be 1ms, so sleeps < 1ms aren't
Wed, 9 Aug 2006 20:40:56 +0000 (20:40 +0000)
Wed, 9 Aug 2006 20:40:56 +0000 (20:40 +0000)
rounded down to zero.

Backpatch to 8.1.X.


diff --git a/src/backend/port/win32/timer.c b/src/backend/port/win32/timer.c
index 0a38f00858e3e72729984f93a7cf7979ceafa46c..88d4b6d58570277562558a440d8af71c5697dfb7 100644 (file)
--- 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.10 2006年08月09日 17:47:03 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/port/win32/timer.c,v 1.11 2006年08月09日 20:40:56 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -56,8 +56,14 @@ pg_timer_thread(LPVOID param)
timerCommArea.value.it_value.tv_usec == 0)
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;
+ }
ResetEvent(timerCommArea.event);
LeaveCriticalSection(&timerCommArea.crit_sec);
}
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /