Revision b6964827

b/vl.c
1002 1002
    }
1003 1003
};
1004 1004

  
1005
static void qemu_event_increment(void);
1005
static void qemu_run_all_timers(void)
1006
{
1007
    /* rearm timer, if not periodic */
1008
    if (alarm_timer->expired) {
1009
        alarm_timer->expired = 0;
1010
        qemu_rearm_alarm_timer(alarm_timer);
1011
    }
1012

  
1013
    alarm_timer->pending = 0;
1014

  
1015
    /* vm time timers */
1016
    if (vm_running) {
1017
        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));
1020
    }
1021

  
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));
1028
}
1006 1029

  
1007 1030
#ifdef _WIN32
1008 1031
static void CALLBACK host_alarm_handler(UINT uTimerID, UINT uMsg,
......
3891 3914

  
3892 3915
    slirp_select_poll(&rfds, &wfds, &xfds, (ret < 0));
3893 3916

  
3894
    /* rearm timer, if not periodic */
3895
    if (alarm_timer->expired) {
3896
        alarm_timer->expired = 0;
3897
        qemu_rearm_alarm_timer(alarm_timer);
3898
    }
3899

  
3900
    alarm_timer->pending = 0;
3901

  
3902
    /* vm time timers */
3903
    if (vm_running) {
3904
        if (!cur_cpu || likely(!(cur_cpu->singlestep_enabled & SSTEP_NOTIMER)))
3905
            qemu_run_timers(&active_timers[QEMU_CLOCK_VIRTUAL],
3906
                            qemu_get_clock(vm_clock));
3907
    }
3908

  
3909
    /* real time timers */
3910
    qemu_run_timers(&active_timers[QEMU_CLOCK_REALTIME],
3911
                    qemu_get_clock(rt_clock));
3912

  
3913
    qemu_run_timers(&active_timers[QEMU_CLOCK_HOST],
3914
                    qemu_get_clock(host_clock));
3917
    qemu_run_all_timers();
3915 3918

  
3916 3919
    /* Check bottom-halves last in case any of the earlier events triggered
3917 3920
       them.  */

Also available in: Unified diff