> -----Original Message----- > From: Alexandre Julliard [mailto:[EMAIL PROTECTED] > Sent: 11 November 2003 21:03 > To: Robert Shearman > Cc: [EMAIL PROTECTED] > Subject: Re: I/O Completion Ports Implementation > > Robert Shearman <[EMAIL PROTECTED]> writes: > > > This has been hanging around in my tree for a while. This is > useful for RPC > > and for eventually implementing QueueUserWorkItem. > > > > Changelog: > > Implement I/O completion ports > > You should use the normal waiting mechanisms, instead of creating a > new type of waiting request which requires exporting a bunch of > private functions. This means there should be only a single > remove_io_completion request, and the wait should be done with a > standard WaitForSingleObject.
WaitForSingleObject(hIoCompletion, INFINITE) returns straight away with WAIT_OBJECT_0 on Windows. Using it would break this behaviour (which of course any sane apps would not depend on). I'd rather have a completely correct implementation now with minor changes. (Although I could move the Nt* functions into sync.c to save 'exporting' wait_reply). In short, the way I've done it works and shouldn't have to be changed later. Rob