[PATCH 2/3] server: STATUS_MORE_PROCESSING_REQUIRED does not indicate that an async operation is complete (try 4).
Erich E. Hoover
compholio at gmail.com
Tue Jun 5 13:45:53 CDT 2012
Several MSDN articles indicate that kernel drivers can respond
with STATUS_MORE_PROCESSING_REQUIRED to indicate that an IRP is
incomplete and that a completion should not be processed. Handling
the return value of our async operations in this way permits us to
handle completions for closed AcceptEx socket handles (part 3). I
realize that my previous attempt at this (using STATUS_ALERTED) was
considered to be hackish, but I now have some evidence to support this
method and I have added a variety of tests that establish that
AcceptEx needs to work this way. Since there isn't enough room to add
the completion port and the completion key to apc_call_t, and it would
be unacceptable to use the handle to the APC to send the completion, I
can't see any other way to solve this issue except to have the
callback return a value that means "I'm not done yet" or drastically
restructure how the APC data is passed between the client and the
server. This version of the patch has just been rebased.
server: STATUS_MORE_PROCESSING_REQUIRED does not indicate that an
async operation is complete.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 986 bytes
Desc: not available
More information about the wine-patches