I have not yet succeeded in turning this behaviour off (_setmode()
didn't seem to affect it). If we can't find a way to turn it off, the
only solution short of abandoning its use on Windows that I can think
of is to translate LF on input to something unlikely like 0x1C and
then translate it back when we read it from the pipe.
Did you _setmode() the pipe, _setmode() stderr, or both? (And did you
try before or after calling dup2()?).
It looks like the Win CRT implementation of dup2() copues the "mode"
from the pipe that you've created into stderr.
Sorry, I was looking at the wrong chunk of code in syslogger.c.
Why are you calling _open_osfhandle() with O_TEXT? That looks
suspicious giving the problem that you are seeing with CR -> CR/LF
translation.
-- Korry
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq