http://bugs.winehq.org/show_bug.cgi?id=9787
--- Comment #272 from Scott Lindeneau slindeneau@gmail.com 2008-09-19 10:10:31 --- (In reply to comment #271)
No, I'm using 1.1.4.
That's a new git since the patch(patch was 1.1.2)... But I think I know what the problem is, and it's not related to the git update.
<insert note to self> The incoming connection hangs up(closes) before the dll thread can process the connection. This results in incorrect behavior for AcceptEx which incorrectly notifies that a socket is ready for use, when it's not. This incorrectly initialized socket is then used in other asynchronous socket functions which causes the critical wait errors.
Fix: Do not use the completion mechanism built into the register_async. Only add-completion upon successful connection of a socket. Socket should requeue itself instead of returning the failure. <end note to self>