]> granicus.if.org Git - postgresql/commitdiff
Fast shutdown stop should forcibly disconnect any active backends, even
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 7 Aug 2009 06:00:09 +0000 (06:00 +0000)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 7 Aug 2009 06:00:09 +0000 (06:00 +0000)
if a smart shutdown is already in progress. Backpatch to 8.3, this was broken
in the patch that introduced "dead-end backends".

Per report by Itagaki Takahiro, patch by Fujii Masao.

src/backend/postmaster/postmaster.c

index 9f41a433b6b3c7889e125ed46fdcf62ec20a4651..884b7386292ee03e812810d21b956f34e89e4a83 100644 (file)
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.551.2.1 2008/06/27 01:53:31 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.551.2.2 2009/08/07 06:00:09 heikki Exp $
  *
  * NOTES
  *
@@ -1994,7 +1994,8 @@ pmdie(SIGNAL_ARGS)
 
                        if (StartupPID != 0)
                                signal_child(StartupPID, SIGTERM);
-                       if (pmState == PM_RUN)
+                       if (pmState == PM_RUN ||
+                               pmState == PM_WAIT_BACKENDS)
                        {
                                ereport(LOG,
                                                (errmsg("aborting any active transactions")));