aboutsummaryrefslogtreecommitdiff
path: root/src/backend/port/win32/signal.c
diff options
context:
space:
mode:
authorNoah Misch <noah@leadboat.com>2019-04-03 17:11:16 -0700
committerNoah Misch <noah@leadboat.com>2019-04-03 17:11:16 -0700
commitab9ed9be2378f02edf613e0543a29287e7484338 (patch)
tree6ca051bb83504e1c5e1023c4c200c5f6471d6b99 /src/backend/port/win32/signal.c
parentf433394e48afbb733b1436276a5a08cd78443164 (diff)
downloadpostgresql-ab9ed9be2378f02edf613e0543a29287e7484338.tar.gz
postgresql-ab9ed9be2378f02edf613e0543a29287e7484338.zip
Assert that pgwin32_signal_initialize() has been called early enough.
Before the pgwin32_signal_initialize() call, the backend version of pg_usleep() has no effect. No in-tree code falls afoul of that today, but temporary commit 23078689a9921968ac0873b017be6e7f772f10bc did so. Discussion: https://postgr.es/m/20190402135442.GA1173872@rfd.leadboat.com
Diffstat (limited to 'src/backend/port/win32/signal.c')
-rw-r--r--src/backend/port/win32/signal.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/backend/port/win32/signal.c b/src/backend/port/win32/signal.c
index dd91fe51f05..7d8961f4a44 100644
--- a/src/backend/port/win32/signal.c
+++ b/src/backend/port/win32/signal.c
@@ -52,6 +52,7 @@ static BOOL WINAPI pg_console_handler(DWORD dwCtrlType);
void
pg_usleep(long microsec)
{
+ Assert(pgwin32_signal_event != NULL);
if (WaitForSingleObject(pgwin32_signal_event,
(microsec < 500 ? 1 : (microsec + 500) / 1000))
== WAIT_OBJECT_0)
@@ -108,6 +109,7 @@ pgwin32_dispatch_queued_signals(void)
{
int exec_mask;
+ Assert(pgwin32_signal_event != NULL);
EnterCriticalSection(&pg_signal_crit_sec);
while ((exec_mask = UNBLOCKED_SIGNAL_QUEUE()) != 0)
{
@@ -209,6 +211,7 @@ pgwin32_create_signal_listener(pid_t pid)
void
pg_queue_signal(int signum)
{
+ Assert(pgwin32_signal_event != NULL);
if (signum >= PG_SIGNAL_COUNT || signum <= 0)
return;