summaryrefslogtreecommitdiff
path: root/qmp.c
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2012-04-27 13:33:36 -0300
committerLuiz Capitulino <lcapitulino@redhat.com>2012-05-08 14:30:09 -0300
commitad02b96ad86baf6dd72a43b04876b2d6ea957112 (patch)
tree3f069ea707475c64c7aa8e306b9bfbe2c27f2395 /qmp.c
parent0a24c7b18eefcd1138a5c60fc77bc9b653c64082 (diff)
downloadqemu-ad02b96ad86baf6dd72a43b04876b2d6ea957112.tar.gz
runstate: introduce suspended state
QEMU enters in this state when the guest suspends to ram (S3). This is important so that HMP users and QMP clients can know that the guest is suspended. QMP also has an event for this, but events are not reliable and are limited (ie. a client can connect to QEMU after the event has been emitted). Having a different state for S3 brings a new issue, though. Every device that doesn't run when the VM is stopped but wants to run when the VM is suspended has to check for RUN_STATE_SUSPENDED explicitly. This is the case for the keyboard and mouse devices, for example. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'qmp.c')
-rw-r--r--qmp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/qmp.c b/qmp.c
index a182b5197e..fee9fb2a9d 100644
--- a/qmp.c
+++ b/qmp.c
@@ -151,6 +151,8 @@ void qmp_cont(Error **errp)
runstate_check(RUN_STATE_SHUTDOWN)) {
error_set(errp, QERR_RESET_REQUIRED);
return;
+ } else if (runstate_check(RUN_STATE_SUSPENDED)) {
+ return;
}
bdrv_iterate(iostatus_bdrv_it, NULL);