|
|
|
|
@ -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 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|