aboutsummaryrefslogtreecommitdiff
path: root/src/backend/port/win32/signal.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-07-16 20:17:04 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-07-16 20:17:04 +0000
commit93120f3501cc9603bfbaf87dea815feb77b782b3 (patch)
treecb6e2e8c4cfa6ae7ba5ff0b920f79408cd527f3c /src/backend/port/win32/signal.c
parente96373aae58f0e12a4c1845d5c10d94729a01b52 (diff)
downloadpostgresql-93120f3501cc9603bfbaf87dea815feb77b782b3.tar.gz
postgresql-93120f3501cc9603bfbaf87dea815feb77b782b3.zip
In a Windows backend, don't build src/port/pgsleep.c's version of
pg_usleep at all. Instead call the replacement function in port/win32/signal.c by that name. Avoids tricky macro-redefinition logic and suppresses a compiler warning; furthermore it ensures that no one can accidentally use the non-signal-aware version of pg_usleep in a Windows backend.
Diffstat (limited to 'src/backend/port/win32/signal.c')
-rw-r--r--src/backend/port/win32/signal.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/backend/port/win32/signal.c b/src/backend/port/win32/signal.c
index 06b45c8eb92..d12e29990fd 100644
--- a/src/backend/port/win32/signal.c
+++ b/src/backend/port/win32/signal.c
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/port/win32/signal.c,v 1.16 2006/03/05 15:58:35 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/port/win32/signal.c,v 1.17 2006/07/16 20:17:04 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -41,11 +41,19 @@ static pqsigfunc pg_signal_defaults[PG_SIGNAL_COUNT];
static DWORD WINAPI pg_signal_thread(LPVOID param);
static BOOL WINAPI pg_console_handler(DWORD dwCtrlType);
-/* Sleep function that can be interrupted by signals */
+
+/*
+ * pg_usleep --- delay the specified number of microseconds, but
+ * stop waiting if a signal arrives.
+ *
+ * This replaces the non-signal-aware version provided by src/port/pgsleep.c.
+ */
void
-pgwin32_backend_usleep(long microsec)
+pg_usleep(long microsec)
{
- if (WaitForSingleObject(pgwin32_signal_event, (microsec < 500 ? 1 : (microsec + 500) / 1000)) == WAIT_OBJECT_0)
+ if (WaitForSingleObject(pgwin32_signal_event,
+ (microsec < 500 ? 1 : (microsec + 500) / 1000))
+ == WAIT_OBJECT_0)
{
pgwin32_dispatch_queued_signals();
errno = EINTR;