Sebastian Lackner : server: Keep reference to terminated async in free_async_queue.
Module: wine Branch: master Commit: 1356afed5a2e5a6ca2cfd2e4df9a4888f2a85205 URL: https://source.winehq.org/git/wine.git/?a=commit;h=1356afed5a2e5a6ca2cfd2e4d... Author: Sebastian Lackner <sebastian(a)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(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)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 ); } }
participants (1)
-
Alexandre Julliard