From: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Asynchronous events saved at checkpoints may invoke callbacks when processed. These callbacks may also generate/read new events (e.g. clock reads). Therefore event processing flag must be reset before callback invocation.
Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20180227095203.1060.70831.stgit@pasha-VirtualBox> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Pavel Dovgalyuk <pavel.dovga...@ispras.ru> --- replay/replay-events.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/replay/replay-events.c b/replay/replay-events.c index 94a6dcccfc..768b505f3d 100644 --- a/replay/replay-events.c +++ b/replay/replay-events.c @@ -295,13 +295,13 @@ void replay_read_events(int checkpoint) if (!event) { break; } + replay_finish_event(); + read_event_kind = -1; replay_mutex_unlock(); replay_run_event(event); replay_mutex_lock(); g_free(event); - replay_finish_event(); - read_event_kind = -1; } } -- 2.14.3