mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-03 08:00:21 +08:00
Revert ill-conceived patch that made elog(FATAL) the same as elog(ERROR)
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.
This commit is contained in:
parent
d79dc61df9
commit
98c120a203
@ -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 */
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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 */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user