aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2004-04-16 12:59:05 +0000
committerBruce Momjian <bruce@momjian.us>2004-04-16 12:59:05 +0000
commit3e2aef58a28fef7bf0cf46065eba0eff1bb0722c (patch)
tree1d34e898d2349721233c510884e1d659561d0dcf /src
parent3a1433674696fbb968bc2120ebd36d9766f49af5 (diff)
downloadpostgresql-3e2aef58a28fef7bf0cf46065eba0eff1bb0722c.tar.gz
postgresql-3e2aef58a28fef7bf0cf46065eba0eff1bb0722c.zip
Handle Warn_restart_ready properly in SIGTERM safety patch.
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/error/elog.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index e6f191d5df3..42650a1f7e5 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;
}