> From: Paolo Bonzini [mailto:paolo.bonz...@gmail.com] On Behalf Of Paolo > Bonzini > Sent: Tuesday, October 06, 2015 11:01 PM > To: qemu-devel@nongnu.org > Cc: pavel.dovga...@ispras.ru > Subject: [PATCH 3/4] why is runstate_is_running needed? > > It doesn't seem correct to call it for all checkpoints, but why > is it right for timerlist_run_timers?
Because replaying shouldn't proceed when machine is stopped. These checks could be also useful for creating snapshots in record mode, but I don't remember exact reasons of adding them. I'll check your changes for the current version. > --- > qemu-timer.c | 9 +++------ > stubs/replay.c | 5 ----- > 2 files changed, 3 insertions(+), 11 deletions(-) > > diff --git a/qemu-timer.c b/qemu-timer.c > index 3c6e4c3..f16e422 100644 > --- a/qemu-timer.c > +++ b/qemu-timer.c > @@ -488,20 +488,17 @@ bool timerlist_run_timers(QEMUTimerList *timer_list) > break; > default: > case QEMU_CLOCK_VIRTUAL: > - if ((replay_mode != REPLAY_MODE_NONE && !runstate_is_running()) > - || !replay_checkpoint(CHECKPOINT_CLOCK_VIRTUAL)) { > + if (!replay_checkpoint(CHECKPOINT_CLOCK_VIRTUAL)) { > goto out; > } > break; > case QEMU_CLOCK_HOST: > - if ((replay_mode != REPLAY_MODE_NONE && !runstate_is_running()) > - || !replay_checkpoint(CHECKPOINT_CLOCK_HOST)) { > + if (!replay_checkpoint(CHECKPOINT_CLOCK_HOST)) { > goto out; > } > break; > case QEMU_CLOCK_VIRTUAL_RT: > - if ((replay_mode != REPLAY_MODE_NONE && !runstate_is_running()) > - || !replay_checkpoint(CHECKPOINT_CLOCK_VIRTUAL_RT)) { > + if (!replay_checkpoint(CHECKPOINT_CLOCK_VIRTUAL_RT)) { > goto out; > } > break; > diff --git a/stubs/replay.c b/stubs/replay.c > index 71fa7d5..42d01b5 100755 > --- a/stubs/replay.c > +++ b/stubs/replay.c > @@ -22,11 +22,6 @@ bool replay_checkpoint(ReplayCheckpoint checkpoint) > return true; > } > > -int runstate_is_running(void) > -{ > - abort(); > -} > - > bool replay_events_enabled(void) > { > return false; > -- > 2.5.0 > Pavel Dovgalyuk