postgresql/src/include/libpq
Tom Lane 9abb2bfc04 In the postmaster, rely on the signal infrastructure to block signals.
POSIX sigaction(2) can be told to block a set of signals while a
signal handler executes.  Make use of that instead of manually
blocking and unblocking signals in the postmaster's signal handlers.
This should save a few cycles, and it also prevents recursive
invocation of signal handlers when many signals arrive in close
succession.  We have seen buildfarm failures that seem to be due to
postmaster stack overflow caused by such recursion (exacerbated by
a Linux PPC64 kernel bug).

This doesn't change anything about the way that it works on Windows.
Somebody might consider adjusting port/win32/signal.c to let it work
similarly, but I'm not in a position to do that.

For the moment, just apply to HEAD.  Possibly we should consider
back-patching this, but it'd be good to let it age awhile first.

Discussion: https://postgr.es/m/14878.1570820201@sss.pgh.pa.us
2019-10-13 15:48:26 -04:00
..
auth.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
be-fsstubs.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
be-gssapi-common.h Move be-gssapi-common.h into src/include/libpq/ 2019-06-08 09:59:02 +09:00
crypt.h Fix use of term "verifier" 2019-10-12 21:41:59 +02:00
hba.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
ifaddr.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
libpq-be.h Update hardcoded DH parameters to IANA standards 2019-07-05 10:47:32 +09:00
libpq-fs.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
libpq.h Switch position of some declarations in libpq.h 2019-06-09 11:33:52 +09:00
pqcomm.h GSSAPI encryption support 2019-04-03 15:02:33 -04:00
pqformat.h Phase 2 pgindent run for v12. 2019-05-22 13:04:48 -04:00
pqmq.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pqsignal.h In the postmaster, rely on the signal infrastructure to block signals. 2019-10-13 15:48:26 -04:00
scram.h Fix use of term "verifier" 2019-10-12 21:41:59 +02:00