Chinaunix首页 | 论坛 | 博客

分类: LINUX

2012-11-23 17:10:17

    内核定时器被组织成双向链表,并使用 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
阅读(1591) | 评论(0) | 转发(0) |
0

上一篇:poll/select机制

下一篇:proc文件系统

给主人留下些什么吧!~~