Re: pipe chunking vs Windows - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: pipe chunking vs Windows
Date
Msg-id 46AD2626.4080302@dunslane.net
Whole thread Raw
In response to Re: pipe chunking vs Windows  (Andreas Pflug <pgadmin@pse-consulting.de>)
Responses Re: pipe chunking vs Windows  (Magnus Hagander <magnus@hagander.net>)
List 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






pgsql-hackers by date:

Previous
From: "korry.douglas"
Date:
Subject: Re: pipe chunking vs Windows
Next
From: Magnus Hagander
Date:
Subject: Re: pipe chunking vs Windows