[PATCH 2/3] server: STATUS_MORE_PROCESSING_REQUIRED does not indicate that an async operation is complete (try 2).
Erich E. Hoover
ehoover at mymail.mines.edu
Mon May 14 17:13:29 CDT 2012
Real Name:
Erich Hoover
Description:
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."
Changelog:
server: STATUS_MORE_PROCESSING_REQUIRED does not indicate that an
async operation is complete.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-server-STATUS_MORE_PROCESSING_REQUIRED-does-not-indi.patch
Type: application/octet-stream
Size: 1045 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20120514/7c216a52/attachment.obj>
More information about the wine-patches
mailing list