mirror of
https://github.com/postgres/postgres.git
synced 2025-07-17 06:41:09 +03:00
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.
This commit is contained in:
@ -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)
|
|||||||
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 @@
|
|||||||
* 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)
|
|||||||
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;
|
||||||
|
Reference in New Issue
Block a user