mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Enable SIGTERM and SIGQUIT during client authentication so
the postmaster can kill the forked off processes when shutdown is requested. Jan
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqsignal.c,v 1.21 2001/08/24 14:07:49 petere Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqsignal.c,v 1.22 2001/09/07 16:12:48 wieck Exp $
|
||||
*
|
||||
* NOTES
|
||||
* This shouldn't be in libpq, but the monitor and some other
|
||||
@@ -61,6 +61,7 @@ pqinitmask(void)
|
||||
#ifdef HAVE_SIGPROCMASK
|
||||
sigemptyset(&UnBlockSig);
|
||||
sigfillset(&BlockSig);
|
||||
sigfillset(&AuthBlockSig);
|
||||
|
||||
/*
|
||||
* Unmark those signals that should never be blocked. Some of these
|
||||
@@ -69,27 +70,41 @@ pqinitmask(void)
|
||||
*/
|
||||
#ifdef SIGTRAP
|
||||
sigdelset(&BlockSig, SIGTRAP);
|
||||
sigdelset(&AuthBlockSig, SIGTRAP);
|
||||
#endif
|
||||
#ifdef SIGABRT
|
||||
sigdelset(&BlockSig, SIGABRT);
|
||||
sigdelset(&AuthBlockSig, SIGABRT);
|
||||
#endif
|
||||
#ifdef SIGILL
|
||||
sigdelset(&BlockSig, SIGILL);
|
||||
sigdelset(&AuthBlockSig, SIGILL);
|
||||
#endif
|
||||
#ifdef SIGFPE
|
||||
sigdelset(&BlockSig, SIGFPE);
|
||||
sigdelset(&AuthBlockSig, SIGFPE);
|
||||
#endif
|
||||
#ifdef SIGSEGV
|
||||
sigdelset(&BlockSig, SIGSEGV);
|
||||
sigdelset(&AuthBlockSig, SIGSEGV);
|
||||
#endif
|
||||
#ifdef SIGBUS
|
||||
sigdelset(&BlockSig, SIGBUS);
|
||||
sigdelset(&AuthBlockSig, SIGBUS);
|
||||
#endif
|
||||
#ifdef SIGSYS
|
||||
sigdelset(&BlockSig, SIGSYS);
|
||||
sigdelset(&AuthBlockSig, SIGSYS);
|
||||
#endif
|
||||
#ifdef SIGCONT
|
||||
sigdelset(&BlockSig, SIGCONT);
|
||||
sigdelset(&AuthBlockSig, SIGCONT);
|
||||
#endif
|
||||
#ifdef SIGTERM
|
||||
sigdelset(&AuthBlockSig, SIGTERM);
|
||||
#endif
|
||||
#ifdef SIGQUIT
|
||||
sigdelset(&AuthBlockSig, SIGQUIT);
|
||||
#endif
|
||||
#else
|
||||
UnBlockSig = 0;
|
||||
@@ -98,6 +113,10 @@ pqinitmask(void)
|
||||
sigmask(SIGINT) | sigmask(SIGUSR1) |
|
||||
sigmask(SIGUSR2) | sigmask(SIGCHLD) |
|
||||
sigmask(SIGWINCH) | sigmask(SIGFPE);
|
||||
AuthBlockSig = sigmask(SIGHUP) | sigmask(SIGALRM) |
|
||||
sigmask(SIGINT) | sigmask(SIGUSR1) |
|
||||
sigmask(SIGUSR2) | sigmask(SIGCHLD) |
|
||||
sigmask(SIGWINCH) | sigmask(SIGFPE);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user