diff options
author | Stefan Weil <weil@mail.berlios.de> | 2011-03-24 21:31:24 +0100 |
---|---|---|
committer | Stefan Weil <weil@mail.berlios.de> | 2011-04-27 13:30:18 +0200 |
commit | 45c7b37fb9c452bcc6fce0ac429ea1d1aa1f9e51 (patch) | |
tree | 558455e0301a7e1b0863f62be4a4b950bc72886d /qemu-timer.c | |
parent | 430a3c18064fd3c007048d757e8bd0fff45fcc99 (diff) | |
download | qemu-45c7b37fb9c452bcc6fce0ac429ea1d1aa1f9e51.zip qemu-45c7b37fb9c452bcc6fce0ac429ea1d1aa1f9e51.tar.gz qemu-45c7b37fb9c452bcc6fce0ac429ea1d1aa1f9e51.tar.bz2 |
qemu-timer: Add and use new function qemu_timer_expired_ns
This simply moves code which is used three times
into a new function thus improving readability.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Diffstat (limited to 'qemu-timer.c')
-rw-r--r-- | qemu-timer.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/qemu-timer.c b/qemu-timer.c index b8c0c88..f771697 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -183,6 +183,11 @@ struct qemu_alarm_timer { static struct qemu_alarm_timer *alarm_timer; +static bool qemu_timer_expired_ns(QEMUTimer *timer_head, int64_t current_time) +{ + return timer_head && (timer_head->expire_time <= current_time); +} + int qemu_alarm_pending(void) { return alarm_timer->pending; @@ -528,10 +533,9 @@ static void qemu_mod_timer_ns(QEMUTimer *ts, int64_t expire_time) pt = &active_timers[ts->clock->type]; for(;;) { t = *pt; - if (!t) - break; - if (t->expire_time > expire_time) + if (!qemu_timer_expired_ns(t, expire_time)) { break; + } pt = &t->next; } ts->expire_time = expire_time; @@ -570,9 +574,7 @@ int qemu_timer_pending(QEMUTimer *ts) int qemu_timer_expired(QEMUTimer *timer_head, int64_t current_time) { - if (!timer_head) - return 0; - return (timer_head->expire_time <= current_time * timer_head->scale); + return qemu_timer_expired_ns(timer_head, current_time * timer_head->scale); } static void qemu_run_timers(QEMUClock *clock) @@ -587,8 +589,9 @@ static void qemu_run_timers(QEMUClock *clock) ptimer_head = &active_timers[clock->type]; for(;;) { ts = *ptimer_head; - if (!ts || ts->expire_time > current_time) + if (!qemu_timer_expired_ns(ts, current_time)) { break; + } /* remove timer from the list before calling the callback */ *ptimer_head = ts->next; ts->next = NULL; |