From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Limpach Subject: Re: [PATCH] Add timeout to xenconsole to fix race condition in xm create -c Date: Wed, 31 Aug 2005 11:31:43 +0100 Message-ID: <3d8eece20508310331244b808@mail.gmail.com> References: <4314D5CC.3020107@us.ibm.com> Reply-To: Christian.Limpach@cl.cam.ac.uk Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <4314D5CC.3020107@us.ibm.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Anthony Liguori Cc: xen-devel List-Id: xen-devel@lists.xenproject.org On 8/30/05, Anthony Liguori wrote: > This should address the problems people are having now. >=20 > Wait a little bit for tty to appear. There is a race condition that > occurs after xend creates a domain. Since no event triggers consoled to > re-examine existing domains, we'll often not see the new pty by the time > we're here. Since consoled sleeps for 2 second periods, a 5 second > timeout should keep us covered. I've applied this with slighly changed comments since xenconsoled now uses watches and should setup the tty almost immediately. The race still exists though. > A xenstore watch isn't much better since we don't want to block forever > if given an invalid domain or worse yes, a domain that someone else has > connected to. It would improve the responsiveness but a timeout is still needed for the reasons you pointed out. Finally, there's still an issue with storing the console tty information in /console/ -- there might be stale data from a previous domain having the same domid and the client might run before the console daemon has rewritten the tty entry. I think this is best fixed by moving the console tty information into the domain's /domain tree. christian