Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4446 Serge 1
 
2
 
3
    ostimer_t  *timer;
4
    uint32_t   exp_time = -1;
5
6
    timer = (ostimer_t*)timers.next;
7
 
8
    {
9
        ostimer_t  *tmp;
10
11
        tmp   = timer;
12
 
13
14
        if( tmp->exp_time < realtime)
15
 
16
            list_remove(&tmp->link);
17
            send_message(tmp->ctrl, MSG_TIMER, tmp->tmr_arg, tmp);
18
        }
19
    };
20
21
    timer = (ostimer_t*)timers.next;
22
 
23
    {
24
        if( exp_time > timer->exp_time)
25
            exp_time = timer->exp_time;
26
        timer = (ostimer_t*)timer->link.next;
27
    }
28
    return exp_time;
29
};
30
31
int set_timer(ctrl_t *ctrl, ostimer_t *timer, uint32_t delay)
32
 
33
    if( ctrl && timer &&delay)
34
    {
35
        timer->ctrl = ctrl;
36
        timer->exp_time = realtime + delay;
37
38
        if( exp_time > timer->exp_time)
39
 
40
41
        list_append(&timer->link, &timers);
42
 
43
    return 0;
44
}
45