From 2ffee681f3c17a674f3cab1f512dfbbd79e43357 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 20 Feb 2020 18:17:28 +0100 Subject: [PATCH v2 4/4] Remove am_syslogger global variable Use MyBackendType instead. --- src/backend/postmaster/syslogger.c | 9 +-------- src/backend/utils/error/elog.c | 8 ++++---- src/include/postmaster/syslogger.h | 2 -- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index 20c59e9b6a..cfb189550e 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -74,11 +74,6 @@ char *Log_filename = NULL; bool Log_truncate_on_rotation = false; int Log_file_mode = S_IRUSR | S_IWUSR; -/* - * Globally visible state (used by elog.c) - */ -bool am_syslogger = false; - extern bool redirection_done; /* @@ -177,8 +172,6 @@ SysLoggerMain(int argc, char *argv[]) syslogger_parseArgs(argc, argv); #endif /* EXEC_BACKEND */ - am_syslogger = true; - MyBackendType = B_LOGGER; init_ps_display(NULL); @@ -1073,7 +1066,7 @@ flush_pipe_input(char *logbuffer, int *bytes_in_logbuffer) /* * Write text to the currently open logfile * - * This is exported so that elog.c can call it when am_syslogger is true. + * This is exported so that elog.c can call it when BackendType is B_LOGGER. * This allows the syslogger process to record elog messages of its own, * even though its stderr does not point at the syslog pipe. */ diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index bb65eb41ca..3a6f7f9456 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -2952,7 +2952,7 @@ write_csvlog(ErrorData *edata) appendStringInfoChar(&buf, '\n'); /* If in the syslogger process, try to write messages direct to file */ - if (am_syslogger) + if (MyBackendType == B_LOGGER) write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_CSVLOG); else write_pipe_chunks(buf.data, buf.len, LOG_DESTINATION_CSVLOG); @@ -3146,7 +3146,7 @@ send_message_to_server_log(ErrorData *edata) * catching stderr output, and we are not ourselves the syslogger. * Otherwise, just do a vanilla write to stderr. */ - if (redirection_done && !am_syslogger) + if (redirection_done && MyBackendType != B_LOGGER) write_pipe_chunks(buf.data, buf.len, LOG_DESTINATION_STDERR); #ifdef WIN32 @@ -3165,13 +3165,13 @@ send_message_to_server_log(ErrorData *edata) } /* If in the syslogger process, try to write messages direct to file */ - if (am_syslogger) + if (MyBackendType == B_LOGGER) write_syslogger_file(buf.data, buf.len, LOG_DESTINATION_STDERR); /* Write to CSV log if enabled */ if (Log_destination & LOG_DESTINATION_CSVLOG) { - if (redirection_done || am_syslogger) + if (redirection_done || MyBackendType == B_LOGGER) { /* * send CSV data if it's safe to do so (syslogger doesn't need the diff --git a/src/include/postmaster/syslogger.h b/src/include/postmaster/syslogger.h index 9b7a386dbd..f611bd1411 100644 --- a/src/include/postmaster/syslogger.h +++ b/src/include/postmaster/syslogger.h @@ -70,8 +70,6 @@ extern PGDLLIMPORT char *Log_filename; extern bool Log_truncate_on_rotation; extern int Log_file_mode; -extern bool am_syslogger; - #ifndef WIN32 extern int syslogPipe[2]; #else -- 2.25.0