From: Alastair Tse Date: Thu, 9 Nov 2006 16:05:00 +0000 (+0000) Subject: [XEND] Ignore dying domains when refreshing list of domains. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15567^2~31 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=361ad9ae8be24473eafaae0a82c7220014e19acc;p=xen.git [XEND] Ignore dying domains when refreshing list of domains. Also cleanup stored configuration if managed domain is deleted. Signed-off-by: Alastair Tse --- diff --git a/tools/python/xen/xend/XendDomain.py b/tools/python/xen/xend/XendDomain.py index d68e726621..d37514d1c2 100644 --- a/tools/python/xen/xend/XendDomain.py +++ b/tools/python/xen/xend/XendDomain.py @@ -319,6 +319,7 @@ class XendDomain: def _managed_domain_unregister(self, dom): try: if self.is_domain_managed(dom): + self._managed_config_remove(dom.get_uuid()) del self.managed_domains[dom.get_uuid()] except ValueError: log.warn("Domain is not registered: %s" % dom.get_uuid()) @@ -378,15 +379,14 @@ class XendDomain: running = self._running_domains() for dom in running: domid = dom['domid'] - if domid in self.domains: + if domid in self.domains and dom['dying'] != 1: self.domains[domid].update(dom) # remove domains that are not running from active domain list. # The list might have changed by now, because the update call may # cause new domains to be added, if the domain has rebooted. We get # the list again. - running = self._running_domains() - running_domids = [d['domid'] for d in running] + running_domids = [d['domid'] for d in running if d['dying'] != 1] for domid, dom in self.domains.items(): if domid not in running_domids and domid != DOM0_ID: self._remove_domain(dom, domid)