WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] "xm save" trouble -- deadlock?

To: Ewan Mellor <ewan@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] "xm save" trouble -- deadlock?
From: Gerd Knorr <kraxel@xxxxxxx>
Date: Wed, 02 Nov 2005 12:34:37 +0100
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 02 Nov 2005 11:31:41 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20051101185800.GB21507@xxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <43679B4C.3030804@xxxxxxx> <4367A2AF.2090707@xxxxxxx> <20051101185800.GB21507@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050715)
  master-xen root /vm/ttylinux# strace -p6568
  Process 6568 attached - interrupt to quit
  select(4, [3], [], [], {0, 960000})     = 0 (Timeout)
  futex(0x80e53b8, FUTEX_WAKE, 1)         = 0
accept(3, 0x408193f8, [110]) = -1 EAGAIN (Resource temporarily unavailable)

There is no point in calling accept(3) unless select() flags file handle #3 as readable.

This mindboggling piece of loveliness is in xen/web/connection.py.  If you can
unpick it, a patch would be more than welcome!

Can someone explain the comment on the start of the file?

<quote>
   """We make sockets non-blocking so that operations like accept()
   don't block. We also select on a timeout. Otherwise we have no way
   of getting the threads to shutdown.
   """
</quote>

What exactly is the thread shutdown problem here? Why the timeout is needed in the first place?

cheers,

  Gerd

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel