server: Add support for queuing a user APC upon async I/O completion.
diff --git a/server/async.c b/server/async.c
index aa4db4e..440cb2e 100644
--- a/server/async.c
+++ b/server/async.c
@@ -150,6 +150,16 @@
}
else
{
+ if (async->data.apc)
+ {
+ apc_call_t data;
+ data.type = APC_USER;
+ data.user.func = async->data.apc;
+ data.user.args[0] = (unsigned long)async->data.apc_arg;
+ data.user.args[1] = (unsigned long)async->data.iosb;
+ data.user.args[2] = 0;
+ thread_queue_apc( async->thread, NULL, &data );
+ }
if (async->event) set_event( async->event );
}
}