Fix elog(FATAL) before PostmasterMain() or just after fork().
authorNoah Misch <noah@leadboat.com>
Tue, 10 Dec 2024 21:51:59 +0000 (13:51 -0800)
committerNoah Misch <noah@leadboat.com>
Tue, 10 Dec 2024 21:52:02 +0000 (13:52 -0800)
commit4bd9de3f4190242d3dbc3ddb2b1a5f87027efdd0
treefb63cacd9675613eb6cd2f3e1afda6ee7bb3d13a
parent67ef403d0e8f069368612adb917e42cd62cc6377
Fix elog(FATAL) before PostmasterMain() or just after fork().

Since commit 97550c0711972a9856b5db751539bbaf2f88884c, these failed with
"PANIC:  proc_exit() called in child process" due to uninitialized or
stale MyProcPid.  That was reachable if close() failed in
ClosePostmasterPorts() or setlocale(category, "C") failed, both
unlikely.  Back-patch to v13 (all supported versions).

Discussion: https://postgr.es/m/20241208034614.45.nmisch@google.com
src/backend/main/main.c
src/backend/postmaster/fork_process.c
src/backend/postmaster/postmaster.c
src/port/pqsignal.c