http://bugs.winehq.org/show_bug.cgi?id=9787
--- Comment #216 from Andrey Turkin andrey.turkin@gmail.com 2008-07-11 14:20:35 --- (In reply to comment #215)
a) The wineserver itself is an asynchronous kernel.
true
b) I have noticed the missed connections too. c) I think the wineserver is required to make a distinct listener thread to implement acceptex properly. The POSIX sockets cannot, and the exsiting wineserver socket implementation cannot, properly set the flags.
You still think it is required even if you think wineserver is an asynchronous? POSIX sockets can do non-blocking accept just the same way as non-blocking read/writes work; wineserver can emulate asynchronous read/write from non-blocking i/o, and it should be able to emulate asynchronous accept (and connect too). Existing mechanisms could be used for this. Not sure what you meant about flags, though.