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.dovgaluk@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 94a6dcc..768b505 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;
}
}