From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51541) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fIlOt-0000li-9i for qemu-devel@nongnu.org; Tue, 15 May 2018 21:38:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fIlOs-0004Ml-GY for qemu-devel@nongnu.org; Tue, 15 May 2018 21:38:43 -0400 Date: Wed, 16 May 2018 09:38:31 +0800 From: Fam Zheng Message-ID: <20180516013831.GC6731@lemon.usersys.redhat.com> References: <1526385643-69675-1-git-send-email-wangjie88@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1526385643-69675-1-git-send-email-wangjie88@huawei.com> Subject: Re: [Qemu-devel] [PATCH] iothread: fix epollfd leak in the process of delIOThread List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jie Wang Cc: stefanha@redhat.com, eblake@redhat.com, peterx@redhat.com, qemu-devel@nongnu.org, qemu-block@nongnu.org, eric.fangyi@huawei.com, wu.wubin@huawei.com On Tue, 05/15 20:00, Jie Wang wrote: > 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. > > Signed-off-by: Jie Wang > --- > iothread.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/iothread.c b/iothread.c > index aff1281..23ac0a8 100644 > --- a/iothread.c > +++ b/iothread.c > @@ -128,6 +128,7 @@ static void iothread_instance_finalize(Object *obj) > * GSources first before destroying any GMainContext. > */ > if (iothread->ctx) { > + close(iothread->ctx->epollfd); > aio_context_unref(iothread->ctx); > iothread->ctx = NULL; > } > -- > 1.8.3.1 > Please add an aio_context_destroy() function in aio-posix.c and call it from aio_context_finalize(). IOThread code should not touch AioContext internals. Also please remember to wrap the close() code in CONFIG_EPOLL_CREATE1. An empty function may need to be added to aio-win32.c, too. Fam