@@ -583,7 +583,8 @@ void monitor_resume(Monitor *mon)
ctx = qemu_get_aio_context();
}
- aio_bh_schedule_oneshot(ctx, monitor_accept_input, mon);
+ aio_bh_schedule_oneshot_event(ctx, monitor_accept_input, mon,
+ QEMU_CLOCK_REALTIME);
}
trace_monitor_suspend(mon, -1);
@@ -541,8 +541,9 @@ void monitor_init_qmp(Chardev *chr, bool pretty, Error **errp)
* since chardev might be running in the monitor I/O
* thread. Schedule a bottom half.
*/
- aio_bh_schedule_oneshot(iothread_get_aio_context(mon_iothread),
- monitor_qmp_setup_handlers_bh, mon);
+ aio_bh_schedule_oneshot_event(iothread_get_aio_context(mon_iothread),
+ monitor_qmp_setup_handlers_bh, mon,
+ QEMU_CLOCK_REALTIME);
/* The bottom half will add @mon to @mon_list */
} else {
qemu_chr_fe_set_handlers(&mon->common.chr, monitor_can_read,
Convert aio_bh_schedule_oneshot() to aio_bh_schedule_oneshot_event(), which can specify the clock type, making it compatible with record-replay. Monitor creation and input does not affect target machine state, so it should use QEMU_CLOCK_REALTIME so it is not recorded and replayed. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> --- monitor/monitor.c | 3 ++- monitor/qmp.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-)