I have just discovered that the recently implemented pipe chunking protocol is broken on Windows. This is because the pipes are operating in text mode and doing LF->CR-LF translation, so the number of bytes received is not the number transmitted and set in the protocol header.
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.
cheers andrew ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate