

void
timer_interrupt_handler() {
        timers_update(time_now - time_timer_set);
        
        /* start physical timer for next shortest time if one exists */
        if (timer_next) {
                time_timer_set = time_now;
                start_physical_timer(timer_next->time);
        }
}

listing 6

