Chinaunix首页 | 论坛 | 博客
  • 博客访问: 392776
  • 博文数量: 80
  • 博客积分: 1982
  • 博客等级: 上尉
  • 技术积分: 1737
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-26 22:41
文章存档

2013年(9)

2012年(71)

分类: 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
阅读(1625) | 评论(0) | 转发(0) |
0

上一篇:poll/select机制

下一篇:proc文件系统

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