From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Magnus Hagander" <mha(at)sollentuna(dot)net> |
Cc: | "PostgreSQL-patches" <pgsql-patches(at)postgresql(dot)org>, "Andreas Pflug" <pgadmin(at)pse-consulting(dot)de>, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Subject: | Re: [BUGS] BUG #1466: #maintenace_work_mem = 16384 |
Date: | 2005-03-12 02:03:41 |
Message-ID: | 7416.1110593021@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
"Magnus Hagander" <mha(at)sollentuna(dot)net> writes:
> Here is an updated patch, that should take care of this. Tested that it
> solves the problem reported.
I compared this to the version Bruce applied earlier and decided that
his version was good. I don't think we should change the original logic
that treated write_syslogger_file as an independent special destination
for the syslogger process only.
I've backpatched that version to 8.0 branch.
>> If the logger is complaining, it's quite possibly because it's
>> unable to
>> write to its file. Now that you mention it, doesn't this code go into
>> infinite recursion if write_syslogger_file_binary() tries to ereport?
> I haven't looked at this part, it appears a separate (but closely
> related) issue.
Actually, your change to make write_syslogger_file_binary() use
write_stderr seems like a fine solution to this problem. However
you didn't get it quite right: the call has to be more like
/* can't use ereport here because of possible recursion */
if (rc != count)
write_stderr("could not write to log file: %s\n", strerror(errno));
since write_stderr doesn't know about %m and doesn't supply a free
newline.
Applied and backpatched to 8.0.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2005-03-12 02:45:31 | Re: BUG #1466: syslogger issues |
Previous Message | Nicolai Tufar | 2005-03-11 23:58:15 | Re: [pgsql-hackers-win32] snprintf causes regression tests to fail |