Exemplo n.º 1
0
static APR_INLINE apt_bool_t mpf_timer_insert(mpf_timer_manager_t *manager, mpf_timer_t *timer)
{
    mpf_timer_t *it;
    for(it = APR_RING_LAST(&manager->head);
            it != APR_RING_SENTINEL(&manager->head, mpf_timer_t, link);
            it = APR_RING_PREV(it, link)) {

        if(it->scheduled_time <= timer->scheduled_time) {
            APR_RING_INSERT_AFTER(it,timer,link);
            return TRUE;
        }
    }
    APR_RING_INSERT_HEAD(&manager->head,timer,mpf_timer_t,link);
    return TRUE;
}
Exemplo n.º 2
0
static APR_INLINE apt_bool_t apt_timer_insert(apt_timer_queue_t *timer_queue, apt_timer_t *timer)
{
    apt_timer_t *it;
    for(it = APR_RING_LAST(&timer_queue->head);
            it != APR_RING_SENTINEL(&timer_queue->head, apt_timer_t, link);
            it = APR_RING_PREV(it, link)) {

        if(it->scheduled_time <= timer->scheduled_time) {
            APR_RING_INSERT_AFTER(it,timer,link);
            return TRUE;
        }
    }
    APR_RING_INSERT_HEAD(&timer_queue->head,timer,apt_timer_t,link);
    return TRUE;
}