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:51:59 +0000 (13:51 -0800)
commit8b9cbf4922756d912309567f83f81e41f1737ac7
tree9f69b467a34faa2403811f52971eb50042b74923
parent939b0908c87a7d82171097189b855e5d0d2dd716
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