[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH 11/17] replay: flush events when exitting
From: |
Pavel Dovgalyuk |
Subject: |
[Qemu-devel] [RFC PATCH 11/17] replay: flush events when exitting |
Date: |
Wed, 25 Apr 2018 15:46:38 +0300 |
User-agent: |
StGit/0.17.1-dirty |
This patch adds events processing when emulation finishes instead
of just cleaning the queue. Now the bdrv coroutines will be in consistent
state when emulator closes. It allows correct polling of the block layer
at exit.
Signed-off-by: Pavel Dovgalyuk <address@hidden>
---
replay/replay-events.c | 14 +-------------
replay/replay-internal.h | 2 --
2 files changed, 1 insertion(+), 15 deletions(-)
diff --git a/replay/replay-events.c b/replay/replay-events.c
index 707de38..0964a82 100644
--- a/replay/replay-events.c
+++ b/replay/replay-events.c
@@ -94,18 +94,6 @@ void replay_disable_events(void)
}
}
-void replay_clear_events(void)
-{
- g_assert(replay_mutex_locked());
-
- while (!QTAILQ_EMPTY(&events_list)) {
- Event *event = QTAILQ_FIRST(&events_list);
- QTAILQ_REMOVE(&events_list, event, events);
-
- g_free(event);
- }
-}
-
/*! Adds specified async event to the queue */
void replay_add_event(ReplayAsyncEventKind event_kind,
void *opaque,
@@ -308,7 +296,7 @@ void replay_init_events(void)
void replay_finish_events(void)
{
events_enabled = false;
- replay_clear_events();
+ replay_flush_events();
}
bool replay_events_enabled(void)
diff --git a/replay/replay-internal.h b/replay/replay-internal.h
index 34d19eb..a2221e5 100644
--- a/replay/replay-internal.h
+++ b/replay/replay-internal.h
@@ -148,8 +148,6 @@ void replay_init_events(void);
void replay_finish_events(void);
/*! Flushes events queue */
void replay_flush_events(void);
-/*! Clears events list before loading new VM state */
-void replay_clear_events(void);
/*! Returns true if there are any unsaved events in the queue */
bool replay_has_events(void);
/*! Saves events from queue into the file */
- Re: [Qemu-devel] [RFC PATCH 06/17] migration: introduce icount field for snapshots, (continued)
- [Qemu-devel] [RFC PATCH 05/17] replay: finish record/replay before closing the disks, Pavel Dovgalyuk, 2018/04/25
- [Qemu-devel] [RFC PATCH 07/17] qcow2: introduce icount field for snapshots, Pavel Dovgalyuk, 2018/04/25
- [Qemu-devel] [RFC PATCH 08/17] replay: introduce info hmp/qmp command, Pavel Dovgalyuk, 2018/04/25
- [Qemu-devel] [RFC PATCH 09/17] replay: introduce breakpoint at the specified step, Pavel Dovgalyuk, 2018/04/25
- [Qemu-devel] [RFC PATCH 10/17] replay: implement replay_seek command to proceed to the desired step, Pavel Dovgalyuk, 2018/04/25
- [Qemu-devel] [RFC PATCH 11/17] replay: flush events when exitting,
Pavel Dovgalyuk <=
- [Qemu-devel] [RFC PATCH 12/17] timer: remove replay clock probe in deadline calculation, Pavel Dovgalyuk, 2018/04/25
- [Qemu-devel] [RFC PATCH 13/17] replay: refine replay-time module, Pavel Dovgalyuk, 2018/04/25
- [Qemu-devel] [RFC PATCH 15/17] replay: flush rr queue before loading the vmstate, Pavel Dovgalyuk, 2018/04/25
- [Qemu-devel] [RFC PATCH 14/17] translator: fix breakpoint processing, Pavel Dovgalyuk, 2018/04/25
- [Qemu-devel] [RFC PATCH 17/17] gdbstub: add reverse continue support in replay mode, Pavel Dovgalyuk, 2018/04/25
- [Qemu-devel] [RFC PATCH 16/17] gdbstub: add reverse step support in replay mode, Pavel Dovgalyuk, 2018/04/25
- Re: [Qemu-devel] [RFC PATCH 00/17] reverse debugging, Pavel Dovgalyuk, 2018/04/25
- Re: [Qemu-devel] [RFC PATCH 00/17] reverse debugging, Ciro Santilli, 2018/04/26