From 6ed2c484f261fd8bd217f855b9e5e5f981e63f0a Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Tue, 27 Apr 2010 20:35:59 -0300 Subject: [PATCH] QMP: Introduce RESUME event It's emitted when the Virtual Machine resumes execution. We currently have the STOP event but don't have the matching RESUME one, this means that clients are notified when the VM is stopped but don't get anything when it resumes. Let's fix that as it's already causing some trouble to libvirt. Signed-off-by: Luiz Capitulino Signed-off-by: Anthony Liguori --- QMP/qmp-events.txt | 12 ++++++++++++ monitor.c | 3 +++ monitor.h | 1 + vl.c | 1 + 4 files changed, 17 insertions(+) diff --git a/QMP/qmp-events.txt b/QMP/qmp-events.txt index c084a47309..01ec85fbb9 100644 --- a/QMP/qmp-events.txt +++ b/QMP/qmp-events.txt @@ -38,6 +38,18 @@ Example: { "event": "RESET", "timestamp": { "seconds": 1267041653, "microseconds": 9518 } } +RESUME +------ + +Emitted when the Virtual Machine resumes execution. + +Data: None. + +Example: + +{ "event": "RESUME", + "timestamp": { "seconds": 1271770767, "microseconds": 582542 } } + RTC_CHANGE ---------- diff --git a/monitor.c b/monitor.c index 754bcc5cc0..bb87479f58 100644 --- a/monitor.c +++ b/monitor.c @@ -423,6 +423,9 @@ void monitor_protocol_event(MonitorEvent event, QObject *data) case QEVENT_STOP: event_name = "STOP"; break; + case QEVENT_RESUME: + event_name = "RESUME"; + break; case QEVENT_VNC_CONNECTED: event_name = "VNC_CONNECTED"; break; diff --git a/monitor.h b/monitor.h index 5bdeed101a..ea15469f25 100644 --- a/monitor.h +++ b/monitor.h @@ -21,6 +21,7 @@ typedef enum MonitorEvent { QEVENT_RESET, QEVENT_POWERDOWN, QEVENT_STOP, + QEVENT_RESUME, QEVENT_VNC_CONNECTED, QEVENT_VNC_INITIALIZED, QEVENT_VNC_DISCONNECTED, diff --git a/vl.c b/vl.c index 9caf96d399..999aac8cc5 100644 --- a/vl.c +++ b/vl.c @@ -1689,6 +1689,7 @@ void vm_start(void) vm_running = 1; vm_state_notify(1, 0); resume_all_vcpus(); + monitor_protocol_event(QEVENT_RESUME, NULL); } }