On Thu, 17 Jan 2002 lawson_whitney@juno.com wrote:
Perhaps I screwed up the blocking semantics of non-overlapped IO.
That's what it looks like to me.
I can't make sense out of these traces. The numbers of bytes transferred are different, but you were transferring different data. The general pattern of function calls and messages is very similar with and without the patch. Especially the error patterns are similar.
If the connection is sluggish anyway, the increased overhead through two more function calls should be negligible. Blocking shouldn't be an issue since the sockets seem to be nonblocking ones.
The app seems to be using WSAAsyncSelect() and WS_ioctlsocket() a lot, perhaps my patch conflicts with those. I can't think of a reason, though, because the app is doing everything synchronously.
Honestly I don't know how to proceed from here. Obviously I should do some testing of my own before reposting.
Can you recommend me a few (16 and 32 apps) Winsock apps that are freely downloadable and reported to run under Wine? Juno seems to be bound to a certain provider, so I'd rather not go for that one now.
If you have time, a simultaneous tcpdump might clarify things a bit. But I guess I need to rework my stuff before I send out others for testing again.
I sent this by juno 4 without trace:
That means nothing because I didn't touch the sending code :-(
The app reported it failed to fetch my mail, try again later. I tried again with a winsock trace, and it succeeded, producing socks.gz
Did you try without trace once or several times?
Thanks again for you efforts, Martin
Btw I don't think I can help with the serial app. I see no indication that overlapped IO plays a role there.