66 |
|
|
67 |
/* Node in timer queue. */ |
/* Node in timer queue. */ |
68 |
struct timer_pq_node { |
struct timer_pq_node { |
69 |
time_t next_alarm; |
prio_t next_alarm; /* must be the first field for pqueue */ |
70 |
unsigned long int time_incr; |
unsigned long int time_incr; |
71 |
long int time_shift; |
long int time_shift; |
72 |
void (*callback) (void *); |
void (*callback) (void *); |
489 |
} |
} |
490 |
|
|
491 |
new_node = (struct timer_pq_node*)malloc (sizeof(struct timer_pq_node)); |
new_node = (struct timer_pq_node*)malloc (sizeof(struct timer_pq_node)); |
492 |
new_node->next_alarm = next_alarm; |
new_node->next_alarm = (prio_t)next_alarm; |
493 |
new_node->time_incr = time_incr; |
new_node->time_incr = time_incr; |
494 |
new_node->time_shift = time_shift; |
new_node->time_shift = time_shift; |
495 |
new_node->callback = callback; |
new_node->callback = callback; |
496 |
new_node->data = data; |
new_node->data = data; |
497 |
|
|
498 |
pq_add (next_alarm, new_node, &timer_q); |
pq_add (new_node, &timer_q); |
499 |
|
|
500 |
return new_node; |
return new_node; |
501 |
} |
} |