Add SIGFPE to list of signals never to block. #ifdef all signals in
that list to cope with platforms that don't have them all.
This commit is contained in:
parent
932d1e5f9e
commit
feb48f41af
|
@ -9,7 +9,7 @@
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqsignal.c,v 1.16 2000/06/28 03:31:41 tgl Exp $
|
* $Header: /cvsroot/pgsql/src/backend/libpq/pqsignal.c,v 1.17 2000/06/29 02:17:42 tgl Exp $
|
||||||
*
|
*
|
||||||
* NOTES
|
* NOTES
|
||||||
* This shouldn't be in libpq, but the monitor and some other
|
* This shouldn't be in libpq, but the monitor and some other
|
||||||
|
@ -61,13 +61,35 @@ pqinitmask(void)
|
||||||
#ifdef HAVE_SIGPROCMASK
|
#ifdef HAVE_SIGPROCMASK
|
||||||
sigemptyset(&UnBlockSig);
|
sigemptyset(&UnBlockSig);
|
||||||
sigfillset(&BlockSig);
|
sigfillset(&BlockSig);
|
||||||
sigdelset(&BlockSig, SIGABRT);
|
/*
|
||||||
sigdelset(&BlockSig, SIGILL);
|
* Unmark those signals that should never be blocked.
|
||||||
sigdelset(&BlockSig, SIGSEGV);
|
* Some of these signal names don't exist on all platforms. Most do,
|
||||||
sigdelset(&BlockSig, SIGBUS);
|
* but might as well ifdef them all for consistency...
|
||||||
|
*/
|
||||||
|
#ifdef SIGTRAP
|
||||||
sigdelset(&BlockSig, SIGTRAP);
|
sigdelset(&BlockSig, SIGTRAP);
|
||||||
sigdelset(&BlockSig, SIGCONT);
|
#endif
|
||||||
|
#ifdef SIGABRT
|
||||||
|
sigdelset(&BlockSig, SIGABRT);
|
||||||
|
#endif
|
||||||
|
#ifdef SIGILL
|
||||||
|
sigdelset(&BlockSig, SIGILL);
|
||||||
|
#endif
|
||||||
|
#ifdef SIGFPE
|
||||||
|
sigdelset(&BlockSig, SIGFPE);
|
||||||
|
#endif
|
||||||
|
#ifdef SIGSEGV
|
||||||
|
sigdelset(&BlockSig, SIGSEGV);
|
||||||
|
#endif
|
||||||
|
#ifdef SIGBUS
|
||||||
|
sigdelset(&BlockSig, SIGBUS);
|
||||||
|
#endif
|
||||||
|
#ifdef SIGSYS
|
||||||
sigdelset(&BlockSig, SIGSYS);
|
sigdelset(&BlockSig, SIGSYS);
|
||||||
|
#endif
|
||||||
|
#ifdef SIGCONT
|
||||||
|
sigdelset(&BlockSig, SIGCONT);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
UnBlockSig = 0;
|
UnBlockSig = 0;
|
||||||
BlockSig = sigmask(SIGHUP) | sigmask(SIGQUIT) |
|
BlockSig = sigmask(SIGHUP) | sigmask(SIGQUIT) |
|
||||||
|
|
Loading…
Reference in New Issue