From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Thibault Subject: Re: [PATCH] Mini-os xenbus wait fixup Date: Wed, 24 Oct 2007 14:31:26 +0100 Message-ID: <20071024133126.GD3824@implementation.uk.xensource.com> References: <20071015162332.GB26450@implementation.uk.xensource.com> <20071018145006.GM4003@implementation.uk.xensource.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="HG+GLK89HZ1zG0kk" Return-path: Content-Disposition: inline In-Reply-To: <20071018145006.GM4003@implementation.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org --HG+GLK89HZ1zG0kk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, I'm getting spurious wakes and crashes when using xenbus_wake_for_value. It looks to me like the attached patch is needed because else the wait element is kept in the watch queue (just like in the wait_event() macro, and it does fix my issues). Samuel --HG+GLK89HZ1zG0kk Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch diff -r b28ae5f00553 extras/mini-os/xenbus/xenbus.c --- a/extras/mini-os/xenbus/xenbus.c Tue Oct 23 09:26:43 2007 +0100 +++ b/extras/mini-os/xenbus/xenbus.c Wed Oct 24 14:27:10 2007 +0100 @@ -79,6 +79,7 @@ void wait_for_watch(void) schedule(); remove_waiter(w); wake(current); + remove_wait_queue(&w); } char* xenbus_wait_for_value(const char* path,const char* value) --HG+GLK89HZ1zG0kk Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --HG+GLK89HZ1zG0kk--