RFC: client side implementation of async I/O

Dan Kegel dank at alumni.caltech.edu
Mon Mar 5 20:01:21 CST 2001


Alexandre Julliard wrote:
> 
> Michael McCormack <mccormac at aals27.alcatel.com.au> writes:
> 
> > This patch moves responsibility for asynchronous I/O to the client process.
> > i'm posting it to wine-devel because i want to know what other developers here
> > think about the technique i've used to make this work...
> 
> Your approach is not going to work with the latest changes I made to
> the server. The good news is that the changes I'm making are in part
> to allow making server calls in signal handlers, so when this works
> you should be able to use SIGIO to do async IO.

IMHO the path to optimize is not async I/O in general, but
async I/O through completion ports.  This is the preferred
method for doing high performance I/O under NT, I think.

And it might be easier to optimize because it doesn't focus on async actions
visible from userspace; the main way the user code knows
the async I/O is done there is by polling the completion port.

cf. http://www.kegel.com/c10k.html
- Dan





More information about the wine-devel mailing list