PostgreSQL Source Code git master
Functions | Variables
pqsignal.h File Reference
#include <signal.h>
Include dependency graph for pqsignal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void  pqinitmask (void)
 

Variables

PGDLLIMPORT sigset_t  UnBlockSig
 
PGDLLIMPORT sigset_t  BlockSig
 
 

Function Documentation

pqinitmask()

void pqinitmask ( void  )

Definition at line 41 of file pqsignal.c.

42{
43 sigemptyset(&UnBlockSig);
44
45 /* Note: InitializeWaitEventSupport() modifies UnBlockSig. */
46
47 /* First set all signals, then clear some. */
48 sigfillset(&BlockSig);
49 sigfillset(&StartupBlockSig);
50
51 /*
52 * Unmark those signals that should never be blocked. Some of these signal
53 * names don't exist on all platforms. Most do, but might as well ifdef
54 * them all for consistency...
55 */
56#ifdef SIGTRAP
57 sigdelset(&BlockSig, SIGTRAP);
58 sigdelset(&StartupBlockSig, SIGTRAP);
59#endif
60#ifdef SIGABRT
61 sigdelset(&BlockSig, SIGABRT);
62 sigdelset(&StartupBlockSig, SIGABRT);
63#endif
64#ifdef SIGILL
65 sigdelset(&BlockSig, SIGILL);
66 sigdelset(&StartupBlockSig, SIGILL);
67#endif
68#ifdef SIGFPE
69 sigdelset(&BlockSig, SIGFPE);
70 sigdelset(&StartupBlockSig, SIGFPE);
71#endif
72#ifdef SIGSEGV
73 sigdelset(&BlockSig, SIGSEGV);
74 sigdelset(&StartupBlockSig, SIGSEGV);
75#endif
76#ifdef SIGBUS
77 sigdelset(&BlockSig, SIGBUS);
78 sigdelset(&StartupBlockSig, SIGBUS);
79#endif
80#ifdef SIGSYS
81 sigdelset(&BlockSig, SIGSYS);
82 sigdelset(&StartupBlockSig, SIGSYS);
83#endif
84#ifdef SIGCONT
85 sigdelset(&BlockSig, SIGCONT);
86 sigdelset(&StartupBlockSig, SIGCONT);
87#endif
88
89/* Signals unique to startup */
90#ifdef SIGQUIT
91 sigdelset(&StartupBlockSig, SIGQUIT);
92#endif
93#ifdef SIGTERM
94 sigdelset(&StartupBlockSig, SIGTERM);
95#endif
96#ifdef SIGALRM
97 sigdelset(&StartupBlockSig, SIGALRM);
98#endif
99}
sigset_t StartupBlockSig
Definition: pqsignal.c:24
sigset_t UnBlockSig
Definition: pqsignal.c:22
sigset_t BlockSig
Definition: pqsignal.c:23
#define SIGCONT
Definition: win32_port.h:167
#define SIGQUIT
Definition: win32_port.h:159
#define SIGTRAP
Definition: win32_port.h:160
#define SIGALRM
Definition: win32_port.h:164
#define SIGABRT
Definition: win32_port.h:161

References BlockSig, SIGABRT, SIGALRM, SIGCONT, SIGQUIT, SIGTRAP, StartupBlockSig, and UnBlockSig.

Referenced by InitPostmasterChild(), InitStandaloneProcess(), and PostmasterMain().

Variable Documentation

BlockSig

PGDLLIMPORT sigset_t BlockSig
extern

Definition at line 23 of file pqsignal.c.

Referenced by BackendInitialize(), BackgroundWorkerBlockSignals(), bgworker_die(), dsm_impl_posix_resize(), fork_process(), InitPostmasterChild(), InitStandaloneProcess(), PostmasterMain(), pqinitmask(), and quickdie().

StartupBlockSig

PGDLLIMPORT sigset_t StartupBlockSig
extern

Definition at line 24 of file pqsignal.c.

Referenced by BackendInitialize(), and pqinitmask().

UnBlockSig

PGDLLIMPORT sigset_t UnBlockSig
extern

Definition at line 22 of file pqsignal.c.

Referenced by AbortSubTransaction(), AbortTransaction(), AutoVacLauncherMain(), AutoVacWorkerMain(), BackgroundWorkerUnblockSignals(), BackgroundWriterMain(), CheckpointerMain(), InitializeWaitEventSupport(), IoWorkerMain(), PgArchiverMain(), PostgresMain(), PostmasterMain(), pqinitmask(), ReplSlotSyncWorkerMain(), StartupProcessMain(), SysLoggerMain(), WalReceiverMain(), WalSummarizerMain(), and WalWriterMain().

AltStyle によって変換されたページ (->オリジナル) /