http://bugs.winehq.org/show_bug.cgi?id=8627
------- Additional Comments From damjan.jov@gmail.com 2007-23-07 04:59 ------- The semantics of WSASendTo on a blocking TCP socket provided by my patch are correct, and not only do the tests prove it, but several apps break without it.
What happens for this app is that the loop that sends data is entered, the timeout is infinite so poll() gets told to sleep until the socket is writable, but poll() returns immediately indicating the socket is writable, so WS2_send() gets called which calls sendmsg(), but it sends 0 bytes, so the loop continues leading to 100% CPU usage.
There is a major problem here, not with wine but with the Linux poll() that lies to us and says we can send while we actually can't. I'll need to look into it further.