]> granicus.if.org Git - postgresql/commitdiff
Revert ill-conceived patch that made elog(FATAL) the same as elog(ERROR)
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 28 Jul 2004 22:05:47 +0000 (22:05 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 28 Jul 2004 22:05:47 +0000 (22:05 +0000)
followed by seeing EOF from client.  If we want a safe session-kill
capability we will need to write one, not break our error handling
mechanism.

src/backend/tcop/postgres.c
src/backend/utils/error/elog.c
src/include/tcop/tcopprot.h

index a353122fc26921422ac4841bf5f030a33d30f9af..a8a7e0197ae0db85b4b5b1af48ed08db30d5afe9 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.425 2004/07/27 05:11:03 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.426 2004/07/28 22:05:46 tgl Exp $
  *
  * NOTES
  *       this is the "main" module of the postgres backend and
@@ -2932,10 +2932,7 @@ PostgresMain(int argc, char *argv[], const char *username)
                /*
                 * (3) read a command (loop blocks here)
                 */
-                if (!in_fatal_exit)
-                       firstchar = ReadCommand(&input_message);
-               else
-                       firstchar = EOF;
+               firstchar = ReadCommand(&input_message);
 
                /*
                 * (4) disable async signal conditions again.
@@ -3164,8 +3161,7 @@ PostgresMain(int argc, char *argv[], const char *username)
                                 * Otherwise it will fail to be called during other
                                 * backend-shutdown scenarios.
                                 */
-                               proc_exit(!in_fatal_exit ? 0 : proc_exit_inprogress ||
-                                                                                               !IsUnderPostmaster);
+                               proc_exit(0);
 
                        case 'd':                       /* copy data */
                        case 'c':                       /* copy done */
index c70958a9de13192489e85a6a49f514e47368bef6..d2f9117059c17e62f010b7180f90fbaedef1d452 100644 (file)
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.142 2004/06/24 21:03:13 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.143 2004/07/28 22:05:46 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -72,8 +72,6 @@ PGErrorVerbosity Log_error_verbosity = PGERROR_VERBOSE;
 char       *Log_line_prefix = NULL; /* format for extra log line info */
 unsigned int Log_destination = LOG_DESTINATION_STDERR;
 
-bool in_fatal_exit = false;
-
 #ifdef HAVE_SYSLOG
 char      *Syslog_facility;    /* openlog() parameters */
 char      *Syslog_ident;
@@ -444,16 +442,7 @@ errfinish(int dummy,...)
                         */
                        fflush(stdout);
                        fflush(stderr);
-
-                       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;
+                       proc_exit(proc_exit_inprogress || !IsUnderPostmaster);
                }
 
                /*
index 0f55e9787fdf347c27e3598861c196865e81f5d9..7af3747c8bfd77d0e46d9f67dd2451168169edc5 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/tcop/tcopprot.h,v 1.67 2004/06/11 01:09:22 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/tcop/tcopprot.h,v 1.68 2004/07/28 22:05:47 tgl Exp $
  *
  * OLD COMMENTS
  *       This file was created so that other c files could get the two
@@ -33,7 +33,6 @@ extern bool InError;
 extern CommandDest whereToSendOutput;
 extern DLLIMPORT const char *debug_query_string;
 extern int     max_stack_depth;
-extern bool in_fatal_exit;
 
 /* GUC-configurable parameters */