内核定时器被组织成双向链表,并使用 struct timer_list 结构描述。
struct timer_list {
struct list_head entry;
unsigned long expires; //超时的jiffies值
void (*function)(unsigned long); //超时处理函数
unsigned long data; //超时处理函数参数
struct tvec_base *base;
};
void init_timer(struct timer_list *timer)
初始化定时器队列结构,该函数仅仅将该定时器假如内核定时器链表中,对于定时器的超时时间、超时处理函数,在调用该函数后还需自行设置。
void add_timer(struct timer_list *timer)
启动定时器。
int mod_timer(struct timer_list *timer, unsigned long expires)
修改定时器。
int del_timer(struct timer_list * timer)
在定时器超时前将它删除;当定时器超时后,系统会自动将它删除。
mod_timer
__mod_timer
internal_add_timer
add_timer
__mod_timer
——忠于梦想 勇于实践 linux_xpj@opencores.org
阅读(1625) | 评论(0) | 转发(0) |