> From: Paolo Bonzini [mailto:[email protected]] On Behalf Of Paolo
> Bonzini
> Sent: Tuesday, October 06, 2015 11:01 PM
> To: [email protected]
> Cc: [email protected]
> 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