Thread: pgsql: Use _exit(2) for SIGQUIT during ProcessStartupPacket, too.

pgsql: Use _exit(2) for SIGQUIT during ProcessStartupPacket, too.

From
Tom Lane
Date:
Use _exit(2) for SIGQUIT during ProcessStartupPacket, too.

Bring the signal handling for startup-packet collection into line
with the policy established in commits bedadc732 and 8e19a8264,
namely don't risk running atexit callbacks when handling SIGQUIT.

Ideally, we'd not do so for SIGTERM or timeout interrupts either,
but that change seems a bit too risky for the back branches.
For now, just improve the comments in this area to describe the risk.

Also relocate where BackendInitialize re-disables these interrupts,
to minimize the code span where they're active.  This doesn't buy
a whole lot of safety, but it can't hurt.

In passing, rename startup_die() to remove confusion about whether
it is for the startup process.

Like the previous commits, back-patch to all supported branches.

Discussion: https://postgr.es/m/1850884.1599601164@sss.pgh.pa.us

Branch
------
REL9_5_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/e2c9bedc96600c181022de0b38e724d2be922e07

Modified Files
--------------
src/backend/postmaster/postmaster.c | 104 +++++++++++++++++++++++++-----------
1 file changed, 73 insertions(+), 31 deletions(-)