Commit 2cfc8fcb authored by Tom Lane's avatar Tom Lane

FATAL errors should cause exit with nonzero status if we are not running

under the postmaster --- specifically, if we are a standalone backend
running under the initdb script, this is critical!
parent e666422e
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.81 2001/02/21 06:05:23 ishii Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.82 2001/03/10 04:21:51 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -451,7 +451,10 @@ elog(int lev, const char *fmt, ...) ...@@ -451,7 +451,10 @@ elog(int lev, const char *fmt, ...)
* after proc_exit has begun to run. (It's proc_exit's * after proc_exit has begun to run. (It's proc_exit's
* responsibility to see that this doesn't turn into infinite * responsibility to see that this doesn't turn into infinite
* recursion!) But in the latter case, we exit with nonzero exit * recursion!) But in the latter case, we exit with nonzero exit
* code to indicate that something's pretty wrong. * code to indicate that something's pretty wrong. We also want
* to exit with nonzero exit code if not running under the postmaster
* (for example, if we are being run from the initdb script, we'd
* better return an error status).
*/ */
if (lev == FATAL || !Warn_restart_ready || proc_exit_inprogress) if (lev == FATAL || !Warn_restart_ready || proc_exit_inprogress)
{ {
...@@ -463,7 +466,7 @@ elog(int lev, const char *fmt, ...) ...@@ -463,7 +466,7 @@ elog(int lev, const char *fmt, ...)
*/ */
fflush(stdout); fflush(stdout);
fflush(stderr); fflush(stderr);
proc_exit((int) proc_exit_inprogress); proc_exit((int) (proc_exit_inprogress || !IsUnderPostmaster));
} }
/* /*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment