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 |