Revision 8c04ba55
b/vl.c | ||
---|---|---|
903 | 903 |
return (timer_head->expire_time <= current_time); |
904 | 904 |
} |
905 | 905 |
|
906 |
static void qemu_run_timers(QEMUTimer **ptimer_head, int64_t current_time)
|
|
906 |
static void qemu_run_timers(QEMUClock *clock)
|
|
907 | 907 |
{ |
908 |
QEMUTimer *ts; |
|
908 |
QEMUTimer **ptimer_head, *ts; |
|
909 |
int64_t current_time; |
|
909 | 910 |
|
911 |
current_time = qemu_get_clock (clock); |
|
912 |
ptimer_head = &active_timers[clock->type]; |
|
910 | 913 |
for(;;) { |
911 | 914 |
ts = *ptimer_head; |
912 | 915 |
if (!ts || ts->expire_time > current_time) |
... | ... | |
1015 | 1018 |
/* vm time timers */ |
1016 | 1019 |
if (vm_running) { |
1017 | 1020 |
if (!cur_cpu || likely(!(cur_cpu->singlestep_enabled & SSTEP_NOTIMER))) |
1018 |
qemu_run_timers(&active_timers[QEMU_CLOCK_VIRTUAL], |
|
1019 |
qemu_get_clock(vm_clock)); |
|
1021 |
qemu_run_timers(vm_clock); |
|
1020 | 1022 |
} |
1021 | 1023 |
|
1022 |
/* real time timers */ |
|
1023 |
qemu_run_timers(&active_timers[QEMU_CLOCK_REALTIME], |
|
1024 |
qemu_get_clock(rt_clock)); |
|
1025 |
|
|
1026 |
qemu_run_timers(&active_timers[QEMU_CLOCK_HOST], |
|
1027 |
qemu_get_clock(host_clock)); |
|
1024 |
qemu_run_timers(rt_clock); |
|
1025 |
qemu_run_timers(host_clock); |
|
1028 | 1026 |
} |
1029 | 1027 |
|
1030 | 1028 |
#ifdef _WIN32 |
Also available in: Unified diff