[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