Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: pipe chunking vs Windows





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







Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group