From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sasha Levin Subject: Re: [PATCH] kvm tools: Add method to stop ipc thread Date: Tue, 25 Oct 2011 13:27:19 +0200 Message-ID: <1319542039.3816.20.camel@lappy> References: <1319539236-874-1-git-send-email-levinsasha928@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, mingo@elte.hu, asias.hejun@gmail.com, gorcunov@gmail.com To: Pekka Enberg Return-path: Received: from mail-ey0-f174.google.com ([209.85.215.174]:60343 "EHLO mail-ey0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755466Ab1JYL1X (ORCPT ); Tue, 25 Oct 2011 07:27:23 -0400 Received: by eye27 with SMTP id 27so295384eye.19 for ; Tue, 25 Oct 2011 04:27:22 -0700 (PDT) In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On Tue, 2011-10-25 at 13:42 +0300, Pekka Enberg wrote: > On Tue, Oct 25, 2011 at 1:40 PM, Sasha Levin wrote: > > Stop the ipc thread when shutting down the hypervisor. > > > > This solves a bug where the .sock files weren't removed upon shutdown. > > > > Signed-off-by: Sasha Levin > > --- > > tools/kvm/include/kvm/kvm-ipc.h | 1 + > > tools/kvm/kvm-ipc.c | 33 +++++++++++++++++++++++++++++---- > > tools/kvm/kvm.c | 1 + > > 3 files changed, 31 insertions(+), 4 deletions(-) > > > > diff --git a/tools/kvm/include/kvm/kvm-ipc.h b/tools/kvm/include/kvm/kvm-ipc.h > > index c932052..731767f 100644 > > --- a/tools/kvm/include/kvm/kvm-ipc.h > > +++ b/tools/kvm/include/kvm/kvm-ipc.h > > @@ -22,5 +22,6 @@ enum { > > int kvm_ipc__register_handler(u32 type, void (*cb)(int fd, u32 type, u32 len, u8 *msg)); > > int kvm_ipc__handle(int fd, struct kvm_ipc_msg *msg); > > int kvm_ipc__start(int sock); > > +int kvm_ipc__stop(void); > > > > #endif > > diff --git a/tools/kvm/kvm-ipc.c b/tools/kvm/kvm-ipc.c > > index f05e926..65209e1 100644 > > --- a/tools/kvm/kvm-ipc.c > > +++ b/tools/kvm/kvm-ipc.c > > @@ -7,12 +7,14 @@ > > #include > > #include > > #include > > +#include > > > > #define KVM_IPC_MAX_MSGS 16 > > > > static void (*msgs[KVM_IPC_MAX_MSGS])(int fd, u32 type, u32 len, u8 *msg); > > static DECLARE_RWSEM(msgs_rwlock); > > -static int epoll_fd, server_fd; > > +static int epoll_fd, server_fd, stop_fd; > > +static pthread_t thread; > > > > int kvm_ipc__register_handler(u32 type, void (*cb)(int fd, u32 type, u32 len, u8 *msg)) > > { > > @@ -109,8 +111,11 @@ static void *kvm_ipc__thread(void *param) > > nfds = epoll_wait(epoll_fd, &event, 1, -1); > > if (nfds > 0) { > > int fd = event.data.fd; > > - > > - if (fd == server_fd) { > > + printf("bleh\n"); > > + if (fd == stop_fd) { > > + printf("Got stop signal\n"); > > + break; > > LOL. Can I have a version of the patch without those printf calls? :-) Woopsie :) -- Sasha.