From 52a9af7ecb34bebb67048a84a4a1682f4b570943 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Tue, 20 Mar 2007 19:22:39 +0100 Subject: [PATCH] server: Grab the owner object of an APC while the APC is executing. --- server/thread.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/thread.c b/server/thread.c index 7010a4d190..6323110ef5 100644 --- a/server/thread.c +++ b/server/thread.c @@ -318,6 +318,7 @@ static void thread_apc_destroy( struct object *obj ) { struct thread_apc *apc = (struct thread_apc *)obj; if (apc->caller) release_object( apc->caller ); + if (apc->owner) release_object( apc->owner ); } /* queue an async procedure call */ @@ -332,6 +333,7 @@ static struct thread_apc *create_apc( struct object *owner, const apc_call_t *ca apc->owner = owner; apc->executed = 0; apc->result.type = APC_NONE; + if (owner) grab_object( owner ); } return apc; }