On Tue, Oct 25, 2011 at 1:40 PM, Sasha Levin <levinsasha928@xxxxxxxxx> 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 <levinsasha928@xxxxxxxxx> > --- > 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 <sys/un.h> > #include <sys/types.h> > #include <sys/socket.h> > +#include <sys/eventfd.h> > > #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? :-) > + } else if (fd == server_fd) { > int client; > > client = kvm_ipc__new_conn(fd); -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html