aboutsummaryrefslogtreecommitdiff
path: root/src/backend/postmaster/syslogger.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-03-12 01:54:44 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-03-12 01:54:44 +0000
commita214e9c9967acf78d938ea205b7bf24e18cdf11a (patch)
treed03dc77df3daa3ead451e49c6c122b6283e5c5de /src/backend/postmaster/syslogger.c
parentb9de4a26cf1b34f9a9a6c9bdfc8d3878bd075ce1 (diff)
downloadpostgresql-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.c7
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