Re: pipe chunking vs Windows

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: pipe chunking vs Windows
Дата
Msg-id 46AD2626.4080302@dunslane.net
обсуждение исходный текст
Ответ на Re: pipe chunking vs Windows  (Andreas Pflug <pgadmin@pse-consulting.de>)
Ответы Re: pipe chunking vs Windows
Список 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 по дате отправления:

Предыдущее
От: "korry.douglas"
Дата:
Сообщение: Re: pipe chunking vs Windows
Следующее
От: Magnus Hagander
Дата:
Сообщение: Re: pipe chunking vs Windows