关闭

linux内核定时器

215人阅读 评论(0) 收藏 举报

简单介绍一下linux提供内涵定时器的相关数据结构

struct timer_list {
       struct list_head entry;
        unsigned long expires;//定时器到期时间

        void (*function)(unsigned long);//定时器到期后执行的函数
        unsigned long data;

        struct tvec_t_base_s *base;
#ifdef CONFIG_TIMER_STATS
         void *start_site;
         char start_comm[16];
         int start_pid;
#endif
}; //此结构体的一个实例对应一个定时器

 

struct  timer_list   my_timer;// 定义一个定时器

 

void  init_timer(struct  time_list  * timer);//初始化定时器

 

TIME_ININTALIZER(_function,_expires,_data)  //此宏给定时器结构体赋值

 

DEFINE_TIME(_name,_functon,_expires,_data) //此宏定义+初始化+赋值

 

static inline void setup_timer(struct timer_list * timer, void (*function)(unsigned long),  unsigned long data);//初始化+赋值

 

void  add_timer(struct timer_list * timer);//注册内核定时器

 

int  del_timer(struct  timer_list  *timer);//删除定时器

 

int  mod_timer(struct  timer_list  *timer,  unsigned long expires);//修改定时器到期时间

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15157次
    • 积分:365
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:2篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论