From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:45318) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SrPZN-0005bQ-5D for qemu-devel@nongnu.org; Wed, 18 Jul 2012 04:25:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SrPZH-0004jP-9d for qemu-devel@nongnu.org; Wed, 18 Jul 2012 04:25:17 -0400 Received: from mail-yx0-f173.google.com ([209.85.213.173]:54251) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SrPZH-0004jK-5A for qemu-devel@nongnu.org; Wed, 18 Jul 2012 04:25:11 -0400 Received: by yenl1 with SMTP id l1so1353776yen.4 for ; Wed, 18 Jul 2012 01:25:10 -0700 (PDT) Message-ID: <500672DE.7090403@ozlabs.ru> Date: Wed, 18 Jul 2012 18:25:02 +1000 From: Alexey Kardashevskiy MIME-Version: 1.0 References: <4FF02F2C.30006@ozlabs.ru> <4FF05173.6090801@redhat.com> <4FF05369.20405@ozlabs.ru> <4FF062BC.4090200@ozlabs.ru> <4FF066AF.40606@redhat.com> <4FF0A980.4070903@ozlabs.ru> <4FFA4BBA.1000800@ozlabs.ru> In-Reply-To: <4FFA4BBA.1000800@ozlabs.ru> Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] eventfd: making it rhread safe List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: mst@redhat.com Cc: Paolo Bonzini , Alex Williamson , qemu-devel@nongnu.org, David Gibson Ping again? On 09/07/12 13:10, Alexey Kardashevskiy wrote: > Ping? > > On 02/07/12 05:48, Alexey Kardashevskiy wrote: >> QEMU uses IO handlers to run select() in the main loop. The handlers list is managed by qemu_set_fd_handler() helper which works fine when called from the main thread as it is called not when select() is waiting. >> >> However sometime we need to update the handlers list from another thread. For that the main loop's select() needs to be restarted with the updated list. >> >> The patch adds the qemu_notify_event() call to interrupt select() and make wrapping code to restart select() with the updated IO handlers list. >> >> Signed-off-by: Alexey Kardashevskiy >> Reviewed-by: Paolo Bonzini >> >> --- >> iohandler.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/iohandler.c b/iohandler.c >> index 3c74de6..dea4355 100644 >> --- a/iohandler.c >> +++ b/iohandler.c >> @@ -77,6 +77,7 @@ int qemu_set_fd_handler2(int fd, >> ioh->fd_write = fd_write; >> ioh->opaque = opaque; >> ioh->deleted = 0; >> + qemu_notify_event(); >> } >> return 0; >> } >> > > -- Alexey