diff options
author | Bruce Momjian <bruce@momjian.us> | 2004-04-16 12:59:05 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2004-04-16 12:59:05 +0000 |
commit | 3e2aef58a28fef7bf0cf46065eba0eff1bb0722c (patch) | |
tree | 1d34e898d2349721233c510884e1d659561d0dcf /src | |
parent | 3a1433674696fbb968bc2120ebd36d9766f49af5 (diff) | |
download | postgresql-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.c | 6 |
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; } |