From bdcf632d623f4234d6067d30a004ea1b22ad7a30 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 12 Mar 2005 01:55:15 +0000 Subject: Fix problem with infinite recursion between write_syslogger_file and elog if the former has trouble writing its file. Code review for Magnus' patch to redirect stderr to syslog on Windows (Bruce's version seems right, but did some minor prettification). Backpatch both changes to 8.0 branch. --- src/backend/postmaster/syslogger.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/backend/postmaster/syslogger.c') diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index e057666370a..60d1337cabb 100644 --- a/src/backend/postmaster/syslogger.c +++ b/src/backend/postmaster/syslogger.c @@ -18,7 +18,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.12 2005/01/01 20:44:16 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.12.4.1 2005/03/12 01:55:14 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -697,10 +697,9 @@ write_syslogger_file_binary(const char *buffer, int count) LeaveCriticalSection(&sysfileSection); #endif + /* can't use ereport here because of possible recursion */ if (rc != count) - ereport(LOG, - (errcode_for_file_access(), - errmsg("could not write to log file: %m"))); + write_stderr("could not write to log file: %s\n", strerror(errno)); } #ifdef WIN32 -- cgit v1.2.3