Commit 3e3f70a2 authored by Tom Lane's avatar Tom Lane

Fix Windows emulation of kill(pid, 0). This will now succeed, but only

if the target PID is a PG postmaster or backend --- for our purposes that
is actually better than the Unix behavior.  Per Dave Page and Andrew Dunstan.
parent 1785aceb
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/port/win32/signal.c,v 1.4 2004/06/24 21:02:42 tgl Exp $ * $PostgreSQL: pgsql/src/backend/port/win32/signal.c,v 1.5 2004/08/27 18:31:48 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -162,7 +162,7 @@ pqsignal(int signum, pqsigfunc handler) ...@@ -162,7 +162,7 @@ pqsignal(int signum, pqsigfunc handler)
void void
pg_queue_signal(int signum) pg_queue_signal(int signum)
{ {
if (signum >= PG_SIGNAL_COUNT || signum < 0) if (signum >= PG_SIGNAL_COUNT || signum <= 0)
return; return;
EnterCriticalSection(&pg_signal_crit_sec); EnterCriticalSection(&pg_signal_crit_sec);
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* signals that the backend can recognize. * signals that the backend can recognize.
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/port/kill.c,v 1.2 2004/06/24 18:53:48 tgl Exp $ * $PostgreSQL: pgsql/src/port/kill.c,v 1.3 2004/08/27 18:31:48 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -26,7 +26,8 @@ pgkill(int pid, int sig) ...@@ -26,7 +26,8 @@ pgkill(int pid, int sig)
BYTE sigRet = 0; BYTE sigRet = 0;
DWORD bytes; DWORD bytes;
if (sig >= PG_SIGNAL_COUNT || sig <= 0) /* we allow signal 0 here, but it will be ignored in pg_queue_signal */
if (sig >= PG_SIGNAL_COUNT || sig < 0)
{ {
errno = EINVAL; errno = EINVAL;
return -1; return -1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment