Handle Warn_restart_ready properly in SIGTERM safety patch.
authorBruce Momjian
Fri, 16 Apr 2004 12:59:05 +0000 (12:59 +0000)
committerBruce Momjian
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;
        }