From: Bruce Momjian <bruce@momjian.us>
Date: Fri, 16 Apr 2004 12:59:05 +0000 (+0000)
Subject: Handle Warn_restart_ready properly in SIGTERM safety patch.
X-Git-Tag: REL8_0_0BETA1~821
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3e2aef58a28fef7bf0cf46065eba0eff1bb0722c;p=postgresql

Handle Warn_restart_ready properly in SIGTERM safety patch.
---

diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index e6f191d5df..42650a1f7e 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -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;
 		}