diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-03-12 01:54:44 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-03-12 01:54:44 +0000 |
commit | a214e9c9967acf78d938ea205b7bf24e18cdf11a (patch) | |
tree | d03dc77df3daa3ead451e49c6c122b6283e5c5de /src/backend/postmaster/syslogger.c | |
parent | b9de4a26cf1b34f9a9a6c9bdfc8d3878bd075ce1 (diff) | |
download | postgresql-a214e9c9967acf78d938ea205b7bf24e18cdf11a.tar.gz postgresql-a214e9c9967acf78d938ea205b7bf24e18cdf11a.zip |
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.
Diffstat (limited to 'src/backend/postmaster/syslogger.c')
-rw-r--r-- | src/backend/postmaster/syslogger.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/backend/postmaster/syslogger.c b/src/backend/postmaster/syslogger.c index 87951a6961c..d019127c790 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.13 2005/03/10 07:14:03 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/postmaster/syslogger.c,v 1.14 2005/03/12 01:54:44 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -679,10 +679,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 |