aboutsummaryrefslogtreecommitdiff
path: root/replay/replay.c
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2017-05-30 09:33:36 +0100
committerStefan Hajnoczi <stefanha@redhat.com>2017-05-30 09:33:40 +0100
commitd0eda02938054268751c6c7bf00219f695b0ca8b (patch)
tree9fd7119c0c284362d2a261b8e177d13d69e7fa3e /replay/replay.c
parent62e570b1c50cac88fb0e940cfcb7820732106c20 (diff)
parent8c1bc1e9d770e7576fc272424dd48eb008ebff39 (diff)
Merge remote-tracking branch 'armbru/tags/pull-qapi-2017-05-23' into staging
QAPI patches for 2017-05-23 # gpg: Signature made Tue 23 May 2017 12:33:32 PM BST # gpg: using RSA key 0x3870B400EB918653 # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * armbru/tags/pull-qapi-2017-05-23: qapi-schema: Remove obsolete note from ObjectTypeInfo block: Use QDict helpers for --force-share shutdown: Expose bool cause in SHUTDOWN and RESET events shutdown: Add source information to SHUTDOWN and RESET shutdown: Preserve shutdown cause through replay shutdown: Prepare for use of an enum in reset/shutdown_request shutdown: Simplify shutdown_signal sockets: Plug memory leak in socket_address_flatten() scripts/qmp/qom-set: fix the value argument passed to srv.command() Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'replay/replay.c')
-rw-r--r--replay/replay.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/replay/replay.c b/replay/replay.c
index f810628cac..ff58a5adf9 100644
--- a/replay/replay.c
+++ b/replay/replay.c
@@ -49,9 +49,10 @@ bool replay_next_event_is(int event)
res = true;
}
switch (replay_state.data_kind) {
- case EVENT_SHUTDOWN:
+ case EVENT_SHUTDOWN ... EVENT_SHUTDOWN_LAST:
replay_finish_event();
- qemu_system_shutdown_request();
+ qemu_system_shutdown_request(replay_state.data_kind -
+ EVENT_SHUTDOWN);
break;
default:
/* clock, time_t, checkpoint and other events */
@@ -170,11 +171,11 @@ bool replay_has_interrupt(void)
return res;
}
-void replay_shutdown_request(void)
+void replay_shutdown_request(ShutdownCause cause)
{
if (replay_mode == REPLAY_MODE_RECORD) {
replay_mutex_lock();
- replay_put_event(EVENT_SHUTDOWN);
+ replay_put_event(EVENT_SHUTDOWN + cause);
replay_mutex_unlock();
}
}