diff options
author | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2012-04-13 19:35:03 +0100 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2012-04-26 13:14:58 -0500 |
commit | 4ffd16fc2900219c8ec8bb288b6fa3dfcae295a7 (patch) | |
tree | 6303172a9e70298b770d4dbf8ae44a89daeeac92 /qemu-timer.c | |
parent | 5bfb723f07fde2caafa90cb40c102a4e36dfea9e (diff) | |
download | qemu-4ffd16fc2900219c8ec8bb288b6fa3dfcae295a7.tar.gz qemu-4ffd16fc2900219c8ec8bb288b6fa3dfcae295a7.tar.bz2 qemu-4ffd16fc2900219c8ec8bb288b6fa3dfcae295a7.zip |
qemu_next_alarm_deadline: check the expire time of a clock only if it is enabled
Also delta in qemu_next_alarm_deadline is a 64 bit value so set the
default to INT64_MAX instead of INT32_MAX.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'qemu-timer.c')
-rw-r--r-- | qemu-timer.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/qemu-timer.c b/qemu-timer.c index 3cdb012bcf..364a4cd098 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -106,23 +106,21 @@ static inline int alarm_has_dynticks(struct qemu_alarm_timer *t) static int64_t qemu_next_alarm_deadline(void) { - int64_t delta; + int64_t delta = INT64_MAX; int64_t rtdelta; - if (!use_icount && vm_clock->active_timers) { + if (!use_icount && vm_clock->enabled && vm_clock->active_timers) { delta = vm_clock->active_timers->expire_time - qemu_get_clock_ns(vm_clock); - } else { - delta = INT32_MAX; } - if (host_clock->active_timers) { + if (host_clock->enabled && host_clock->active_timers) { int64_t hdelta = host_clock->active_timers->expire_time - qemu_get_clock_ns(host_clock); if (hdelta < delta) { delta = hdelta; } } - if (rt_clock->active_timers) { + if (rt_clock->enabled && rt_clock->active_timers) { rtdelta = (rt_clock->active_timers->expire_time - qemu_get_clock_ns(rt_clock)); if (rtdelta < delta) { |