You might want to try out changeset 102 which fixes a nasty I/O bug on Windows (thank you Guillaume Cartier for pointing out the problem and helping me debug it).
Marc
On 11-Feb-08, at 10:05 AM, François Magnan wrote:
Hi Christian,
Thank you for your help. The "Content-Length" header is not the issue here because the faulty code does byte-by-byte IO (read-u8, write-u8) so I know exactly how many bytes I output and there is no encoding/ decoding taking place without my knowledge. In fact it works very well if I disable the concurrent calls to open-tcp-client. It also always work perfectly on MacOSX so I doubt there is an enconding issue.
About your second thought, the clock resolution problem on OSX is not the problem since it works on OSX like I said above.
For me, it looks like read-u8 and write-u8 in MinGW are somehow blocked when there is too much parallel network activity. I could not drill it down to a simpler case that the one I sent.
In the meantime, I will avoid using read-u8 and write-u8 on WinXP.