qemu-timer: simplify qemu_run_timers

ptimer_head is an invariant pointer to clock->active_timers.
Remove it, and just reference clock->active_timers directly.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
This commit is contained in:
Paolo Bonzini 2012-09-19 15:52:44 +02:00 committed by Stefan Hajnoczi
parent c10600af60
commit 144b97c26c
1 changed files with 3 additions and 4 deletions

View File

@ -372,21 +372,20 @@ bool qemu_timer_expired(QEMUTimer *timer_head, int64_t current_time)
void qemu_run_timers(QEMUClock *clock) void qemu_run_timers(QEMUClock *clock)
{ {
QEMUTimer **ptimer_head, *ts; QEMUTimer *ts;
int64_t current_time; int64_t current_time;
if (!clock->enabled) if (!clock->enabled)
return; return;
current_time = qemu_get_clock_ns(clock); current_time = qemu_get_clock_ns(clock);
ptimer_head = &clock->active_timers;
for(;;) { for(;;) {
ts = *ptimer_head; ts = clock->active_timers;
if (!qemu_timer_expired_ns(ts, current_time)) { if (!qemu_timer_expired_ns(ts, current_time)) {
break; break;
} }
/* remove timer from the list before calling the callback */ /* remove timer from the list before calling the callback */
*ptimer_head = ts->next; clock->active_timers = ts->next;
ts->next = NULL; ts->next = NULL;
/* run the callback (the timer list can be modified) */ /* run the callback (the timer list can be modified) */