mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
Fix domain suspend by xend stop
When I stopped xend by xend stop command, a domain suspend processing is frequently failed. This patch solves the problem. Step to reproduce: 1. xm new XXX on_xend_stop="suspend" 2. xm start XXX 3. xend stop In the xend stop, if the domain suspend processing is slept by state_updated.wait() of waitForShutdown(), then the domain suspend processing is not waked up again because state_updated.notifyAll() of _stateSet() is not executed. For the reason, processing of _on_domains_changed() is waited by domains_lock.acquire() because the domain suspend processing is keeping domains_lock and sleeping. The domain suspend processing got domains_lock at cleanup_domains(). Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
This commit is contained in:
1 parent
7564231fbc
commit
bfe18b4f3a
1 file changed
+1
-1
@@ -2104,7 +2104,7 @@ class XendDomainInfo:
|
||||
self.state_updated.acquire()
|
||||
try:
|
||||
while self._stateGet() in (DOM_STATE_RUNNING,DOM_STATE_PAUSED):
|
||||
self.state_updated.wait()
|
||||
self.state_updated.wait(timeout=1.0)
|
||||
finally:
|
||||
self.state_updated.release()
|
||||
|
||||
|
||||