From: Jan Kiszka <jan.kis...@siemens.com> A pending vmstop request is also a reason to leave the inner main loop. So far we ignored it, and pending stop requests issued over VCPU threads were simply ignored.
Signed-off-by: Jan Kiszka <jan.kis...@siemens.com> Signed-off-by: Marcelo Tosatti <mtosa...@redhat.com> --- vl.c | 14 +++++--------- 1 files changed, 5 insertions(+), 9 deletions(-) diff --git a/vl.c b/vl.c index 5e3f7f2..30263d6 100644 --- a/vl.c +++ b/vl.c @@ -1391,15 +1391,11 @@ void main_loop_wait(int nonblocking) static int vm_can_run(void) { - if (powerdown_requested) - return 0; - if (reset_requested) - return 0; - if (shutdown_requested) - return 0; - if (debug_requested) - return 0; - return 1; + return !(powerdown_requested || + reset_requested || + shutdown_requested || + debug_requested || + vmstop_requested); } qemu_irq qemu_system_powerdown; -- 1.7.4