Avoid calling kill() in a postmaster signal handler.
This causes problems when the system load is high, per report from Zdenek
Kotala in <1250860954(dot)1239(dot)114(dot)camel(at)localhost>; instead of calling kill
directly, have the signal handler set a flag which is checked in ServerLoop.
This way, the handler can return before being called again by a subsequent
signal sent from the autovacuum launcher. Also, increase the sleep in the
launcher in this failure path to 1 second.
Backpatch to 8.3, which is when the signalling between autovacuum
launcher/postmaster was introduced.
Also, add a couple of ReleasePostmasterChildSlot calls in error paths; this
part backpatched to 8.4 which is when the child slot stuff was introduced.
autovacuum.c (r1.101 -> r1.102)
postmaster.c (r1.587 -> r1.588)
pgsql-committers by date
|Next:||From: Alvaro Herrera||Date: 2009-08-24 17:23:17|
|Subject: pgsql: Avoid calling kill() in a postmaster signal handler.|
|Previous:||From: Tom Lane||Date: 2009-08-24 16:18:49|
|Subject: pgsql: Fix inclusions of readline/editline header files so that we only |