From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Andreas Pflug <pgadmin(at)pse-consulting(dot)de> |
Cc: | "korry(dot)douglas" <korry(dot)douglas(at)enterprisedb(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: pipe chunking vs Windows |
Date: | 2007-07-29 23:43:34 |
Message-ID: | 46AD2626.4080302@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andreas Pflug wrote:
> Andrew Dunstan wrote:
>
>> I have no idea why that's done - it goes back to the origins of the
>> syslogger - probably because someone mistakenly thinks all WIndows
>> text files have to have CRLF line endings.
>>
>> I tried changing that to _O_BINARY, and calling _setmode on both the
>> pipe before it's duped into stderr and stderr after the dup and both.
>> Nothing seemed to work.
>>
> AFAIR the flag has to be set again in each child process.
>
>
OK, this was the bit of info I was missing. I put a call in
SubPostmasterMain() like this:
_setmode(fileno(stderr), _O_BINARY);
and one in the syslogger code the same, just after the pipe is dup'ed
into stderr.
After that I saw no more corruption issues.
However, the problem is that in backporting it we'd make a slight
behaviour change - the log file just gets LF instead of CRLF line
endings. I'm inclined to say that's a better result than living with the
bug, though.
Thoughts?
cheers
andrew
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2007-07-30 07:50:27 | Re: pipe chunking vs Windows |
Previous Message | Alvaro Herrera | 2007-07-29 23:17:15 | Re: allow CSV quote in NULL |