pgsql: Fix autovacuum launcher shutdown sequence

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix autovacuum launcher shutdown sequence
Date: 2015-04-08 16:23:04
Message-ID: E1Yfskq-0003Tk-8v@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix autovacuum launcher shutdown sequence

It was previously possible to have the launcher re-execute its main loop
before shutting down if some other signal was received or an error
occurred after getting SIGTERM, as reported by Qingqing Zhou.

While investigating, Tom Lane further noticed that if autovacuum had
been disabled in the config file, it would misbehave by trying to start
a new worker instead of bailing out immediately -- it would consider
itself as invoked in emergency mode.

Fix both problems by checking the shutdown flag in a few more places.
These problems have existed since autovacuum was introduced, so
backpatch all the way back.

Branch
------
REL9_3_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/0d6c9e061b8b089c7130b1daa4f67219fca8491f

Modified Files
--------------
src/backend/postmaster/autovacuum.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2015-04-08 18:28:05 pgsql: Change SQLSTATE for event triggers "wrong context" message
Previous Message Bruce Momjian 2015-04-08 14:28:53 pgsql: libpq: add newlines to SSPI error messages