diff --git a/vl.c b/vl.c index 70950f8..7552fde 100644 --- a/vl.c +++ b/vl.c @@ -1041,6 +1041,10 @@ void qemu_mod_timer(QEMUTimer *ts, int64_t expire_time) ts->expire_time = expire_time; ts->next = *pt; *pt = ts; + + /* rearm if the necessary */ + if (pt == &active_timers[ts->clock->type]) + qemu_rearm_alarm_timer(alarm_timer); } int qemu_timer_pending(QEMUTimer *ts)