Commit 55875b6d authored by Michael Paquier's avatar Michael Paquier

Stop bgworkers during fast shutdown with postmaster in startup phase

When a postmaster gets into its phase PM_STARTUP, it would start
background workers using BgWorkerStart_PostmasterStart mode immediately,
which would cause problems for a fast shutdown as the postmaster forgets
to send SIGTERM to already-started background workers.  With smart and
immediate shutdowns, this correctly happened, and fast shutdown is the
only mode missing the shot.

Author: Alexander Kukushkin
Reviewed-by: Michael Paquier
Discussion: https://postgr.es/m/CAFh8B=mvnD8+DZUfzpi50DoaDfZRDfd7S=gwj5vU9GYn8UvHkA@mail.gmail.com
Backpatch-through: 9.5
parent e0a0cc28
...@@ -2685,7 +2685,7 @@ pmdie(SIGNAL_ARGS) ...@@ -2685,7 +2685,7 @@ pmdie(SIGNAL_ARGS)
signal_child(BgWriterPID, SIGTERM); signal_child(BgWriterPID, SIGTERM);
if (WalReceiverPID != 0) if (WalReceiverPID != 0)
signal_child(WalReceiverPID, SIGTERM); signal_child(WalReceiverPID, SIGTERM);
if (pmState == PM_RECOVERY) if (pmState == PM_STARTUP || pmState == PM_RECOVERY)
{ {
SignalSomeChildren(SIGTERM, BACKEND_TYPE_BGWORKER); SignalSomeChildren(SIGTERM, BACKEND_TYPE_BGWORKER);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment