Wait for device-bringup inside domain_start, outside the scope of the

domains_lock.  This makes the VM.start call blocking, but allows xm list to
work while it is blocked.  Move the handling of start_paused out of
XendDomainInfo.start as part of this.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
This commit is contained in:
Ewan Mellor committed 2006-11-28 18:00:45 +00:00
1 parent 592da6d9ee
commit ea3b5838d8
2 files changed
+5 -4

No files matched your search

+4 -1
View File
@@ -908,10 +908,13 @@ class XendDomain:
if dominfo.state != DOM_STATE_HALTED:
raise XendError("Domain is already running")
dominfo.start(is_managed = True, start_paused = start_paused)
dominfo.start(is_managed = True)
self._add_domain(dominfo)
finally:
self.domains_lock.release()
dominfo.waitForDevices()
if not start_paused:
dominfo.unpause()
def domain_delete(self, domid):
+1 -3
View File
@@ -425,7 +425,7 @@ class XendDomainInfo:
#
def start(self, is_managed = False, start_paused = True):
def start(self, is_managed = False):
"""Attempts to start the VM by do the appropriate
initialisation if it not started.
"""
@@ -439,8 +439,6 @@ class XendDomainInfo:
self._storeDomDetails()
self._registerWatches()
self.refreshShutdown()
if not start_paused:
self.unpause()
# save running configuration if XendDomains believe domain is
# persistent
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.