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 по дате отправления: