summary refs log tree commit diff stats
path: root/util/async.c
diff options
context:
space:
mode:
authorJie Wang <wangjie88@huawei.com>2018-05-17 08:42:43 +0800
committerFam Zheng <famz@redhat.com>2018-05-18 17:09:54 +0800
commitcd0a6d2b2c3d5cbf82a868d8c6c80961bcda6db5 (patch)
treeb2f081c485e1856e785dc3f20164986751c9e3bf /util/async.c
parent9d5e546af0a8500c0bde312c8dea6037428c655d (diff)
downloadfocaccia-qemu-cd0a6d2b2c3d5cbf82a868d8c6c80961bcda6db5.tar.gz
focaccia-qemu-cd0a6d2b2c3d5cbf82a868d8c6c80961bcda6db5.zip
iothread: fix epollfd leak in the process of delIOThread
When we call addIOThread, the epollfd created in aio_context_setup,
but not close it in the process of delIOThread, so the epollfd will leak.

Reorder the code in aio_epoll_disable and reuse it.

Signed-off-by: Jie Wang <wangjie88@huawei.com>
Message-Id: <1526517763-11108-1-git-send-email-wangjie88@huawei.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
[Mention change to aio_epoll_disable in commit message. - Fam]
Signed-off-by: Fam Zheng <famz@redhat.com>
Diffstat (limited to 'util/async.c')
-rw-r--r--util/async.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/util/async.c b/util/async.c
index 4dd9d95a9e..03f62787f2 100644
--- a/util/async.c
+++ b/util/async.c
@@ -298,6 +298,7 @@ aio_ctx_finalize(GSource     *source)
     qemu_rec_mutex_destroy(&ctx->lock);
     qemu_lockcnt_destroy(&ctx->list_lock);
     timerlistgroup_deinit(&ctx->tlg);
+    aio_context_destroy(ctx);
 }
 
 static GSourceFuncs aio_source_funcs = {