Module: wine Branch: master Commit: 1356afed5a2e5a6ca2cfd2e4df9a4888f2a85205 URL: https://source.winehq.org/git/wine.git/?a=commit;h=1356afed5a2e5a6ca2cfd2e4d...
Author: Sebastian Lackner sebastian@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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 ); } }