Commit e957ad8a authored by Pavel Dovgalyuk's avatar Pavel Dovgalyuk Committed by Paolo Bonzini
Browse files

replay: fix replay shutdown



This patch fixes shutdown of the replay process, which is terminated with
the assert when shutdown event is read from the log.
replay_finish_event reads new data_kind and therefore the value of data_kind
should be preserved to be valid at qemu_system_shutdown_request call.

Signed-off-by: default avatarPavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Message-Id: <156404427238.18669.12378772823692338069.stgit@pasha-Precision-3630-Tower>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent dcb15780
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -45,14 +45,14 @@ bool replay_next_event_is(int event)
    }

    while (true) {
        if (event == replay_state.data_kind) {
        unsigned int data_kind = replay_state.data_kind;
        if (event == data_kind) {
            res = true;
        }
        switch (replay_state.data_kind) {
        switch (data_kind) {
        case EVENT_SHUTDOWN ... EVENT_SHUTDOWN_LAST:
            replay_finish_event();
            qemu_system_shutdown_request(replay_state.data_kind -
                                         EVENT_SHUTDOWN);
            qemu_system_shutdown_request(data_kind - EVENT_SHUTDOWN);
            break;
        default:
            /* clock, time_t, checkpoint and other events */