]> granicus.if.org Git - postgresql/commitdiff
Handle Warn_restart_ready properly in SIGTERM safety patch.
authorBruce Momjian <bruce@momjian.us>
Fri, 16 Apr 2004 12:59:05 +0000 (12:59 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 16 Apr 2004 12:59:05 +0000 (12:59 +0000)
src/backend/utils/error/elog.c

index e6f191d5df349d2af60f01296b62807e40002ac2..42650a1f7e5e33d9cb31dd4248c25ba66c7ce418 100644 (file)
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.133 2004/04/11 00:54:45 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.134 2004/04/16 12:59:05 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -448,6 +448,10 @@ errfinish(int dummy,...)
                        if (in_fatal_exit)
                                ereport(PANIC, (errmsg("fatal error during fatal exit, giving up")));
 
+                       /* not safe to longjump */
+                       if (!Warn_restart_ready || proc_exit_inprogress)
+                               proc_exit(proc_exit_inprogress || !IsUnderPostmaster);
+
                        /* We will exit the backend by simulating a client EOF */
                        in_fatal_exit = true;
                }