Sebastian Lackner : server: Keep reference to terminated async in free_async_queue.

Alexandre Julliard julliard at winehq.org
Tue Feb 27 17:29:33 CST 2018


Module: wine
Branch: master
Commit: 1356afed5a2e5a6ca2cfd2e4df9a4888f2a85205
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=1356afed5a2e5a6ca2cfd2e4df9a4888f2a85205

Author: Sebastian Lackner <sebastian at fds-team.de>
Date:   Mon Feb 26 19:14:24 2018 +0100

server: Keep reference to terminated async in free_async_queue.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 server/async.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/server/async.c b/server/async.c
index 4f1bcf1..adbadc5 100644
--- a/server/async.c
+++ b/server/async.c
@@ -192,10 +192,12 @@ void free_async_queue( struct async_queue *queue )
 
     LIST_FOR_EACH_ENTRY_SAFE( async, next, &queue->queue, struct async, queue_entry )
     {
+        grab_object( &async->obj );
         if (!async->completion) async->completion = fd_get_completion( async->fd, &async->comp_key );
         async->fd = NULL;
         async_terminate( async, STATUS_HANDLES_CLOSED );
         async->queue = NULL;
+        release_object( &async->obj );
     }
 }
 




More information about the wine-cvs mailing list