Martin Wilck wrote:
Although I had a relevant part in implementing the asynchronous IO in winsock, I am not quite content with it because it is not really asynchronous.
And not really high-performance, I bet (though I wouldn't know, I haven't looked at the code or tested it).
Alexandre is against using threads.
Me, too. glibc uses threads to emulate aio, and the performance is poor. On platforms that natively support AIO, I bet you *really* want to implement Wine AIO using Posix AIO if you can.
On Linux at least, Ben LaHaise's asyncio can be expected to become part of the 2.6 kernel series, and if that happens the wine asynchronous IO functionality should be rewritten to use the asyncio API on systems that support it.
Yes. Exactly.
(I still havent't figured out whether aio will support sockets, though).
It will. SGI's kaio does already, and Ben's will support it when he's finished. That should give good performance.
- Dan
p.s. Looks like the threads implementation for the 2.6 kernel will rock, too. See http://www.kegel.com/c10k.html#threaded (Somebody remind me why Wine has its own threads implementation again? Is it because the semantics are too different from Posix threads?)