PostgreSQL Source Code git master
Loading...
Searching...
No Matches
pqsignal.c
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * pqsignal.c
4 * Backend signal(2) support (see also src/port/pqsignal.c)
5 *
6 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
8 *
9 *
10 * IDENTIFICATION
11 * src/backend/libpq/pqsignal.c
12 *
13 * ------------------------------------------------------------------------
14 */
15
16#include "postgres.h"
17
18#include "libpq/pqsignal.h"
19
20
21/* Global variables */
25
26
27/*
28 * Initialize BlockSig, UnBlockSig, and StartupBlockSig.
29 *
30 * BlockSig is the set of signals to block when we are trying to block
31 * signals. This includes all signals we normally expect to get, but NOT
32 * signals that should never be turned off.
33 *
34 * StartupBlockSig is the set of signals to block during startup packet
35 * collection; it's essentially BlockSig minus SIGTERM, SIGQUIT, SIGALRM.
36 *
37 * UnBlockSig is the set of signals to block when we don't want to block
38 * signals.
39 */
40void
42{
44
45 /* Note: InitializeWaitEventSupport() modifies UnBlockSig. */
46
47 /* First set all signals, then clear some. */
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
59#endif
60#ifdef SIGABRT
63#endif
64#ifdef SIGILL
67#endif
68#ifdef SIGFPE
71#endif
72#ifdef SIGSEGV
75#endif
76#ifdef SIGBUS
79#endif
80#ifdef SIGSYS
83#endif
84#ifdef SIGCONT
87#endif
88
89/* Signals unique to startup */
90#ifdef SIGQUIT
92#endif
93#ifdef SIGTERM
95#endif
96#ifdef SIGALRM
98#endif
99}
sigset_t StartupBlockSig
Definition pqsignal.c:24
void pqinitmask(void)
Definition pqsignal.c:41
sigset_t UnBlockSig
Definition pqsignal.c:22
sigset_t BlockSig
Definition pqsignal.c:23
static int fb(int x)
#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