postmaster: Don't repeatedly transition to crashing state
authorAndres Freund <andres@anarazel.de>
Fri, 24 Jan 2025 22:00:10 +0000 (17:00 -0500)
committerAndres Freund <andres@anarazel.de>
Fri, 24 Jan 2025 22:00:10 +0000 (17:00 -0500)
commitf0b7ab7251390544c5e79d1d9c96da254181fc4f
treec7f41eaf0a67608dd2fe59664a1efdaed5498027
parentd239c1a8e5b6ac467b3479bf3840e3d297a40bef
postmaster: Don't repeatedly transition to crashing state

Previously HandleChildCrash() skipped logging and signalling child exits if
already in an immediate shutdown or in FatalError state, but still
transitioned server state in response to a crash. That's redundant.

In the other place we transition to FatalError, we do take care to not do so
when already in FatalError state.

To make it easier to combine different paths for entering FatalError state,
only do so once in HandleChildCrash().

Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Discussion: https://postgr.es/m/kgng5nrvnlv335evmsuvpnh354rw7qyazl73kdysev2cr2v5zu@m3cfzxicm5kp
src/backend/postmaster/postmaster.c