Line | |
---|
1 | #include "timers.h"
|
---|
2 |
|
---|
3 | /*===========================================================================*
|
---|
4 | * tmrs_exptimers *
|
---|
5 | *===========================================================================*/
|
---|
6 | void tmrs_exptimers(tmrs, now, new_head)
|
---|
7 | timer_t **tmrs; /* pointer to timers queue */
|
---|
8 | clock_t now; /* current time */
|
---|
9 | clock_t *new_head;
|
---|
10 | {
|
---|
11 | /* Use the current time to check the timers queue list for expired timers.
|
---|
12 | * Run the watchdog functions for all expired timers and deactivate them.
|
---|
13 | * The caller is responsible for scheduling a new alarm if needed.
|
---|
14 | */
|
---|
15 | timer_t *tp;
|
---|
16 |
|
---|
17 | while ((tp = *tmrs) != NULL && tp->tmr_exp_time <= now) {
|
---|
18 | *tmrs = tp->tmr_next;
|
---|
19 | tp->tmr_exp_time = TMR_NEVER;
|
---|
20 | (*tp->tmr_func)(tp);
|
---|
21 | }
|
---|
22 |
|
---|
23 | if(new_head) {
|
---|
24 | if(*tmrs)
|
---|
25 | *new_head = (*tmrs)->tmr_exp_time;
|
---|
26 | else
|
---|
27 | *new_head = 0;
|
---|
28 | }
|
---|
29 | }
|
---|
30 |
|
---|
31 |
|
---|
Note:
See
TracBrowser
for help on using the repository browser.