当前位置:文档之家› linux 内核定时器 timer_list

linux 内核定时器 timer_list

linux 内核定时器timer_list
linux 内核使用timer_list 结构体当作定时器。

#include “linux/timer.h”
#include “linux/module.h”MODULE_LICENSE(“GPL”);//不加这句话,虽然不影响功能,但有时候程序执行时会打印错误,类似Disabling lock debugging //due to kernel taint 之类的话struct timer_list tm;static int num;static void func(){ num++; mod_timer(&tm,jiffies+1*HZ); //timer 一旦超时,就
会执行fuc 函数,然后永远的休眠,//所以如果没有这mod_timer,hello world 只会执行一次,也就是timer 第一次超时时执行的那次。

//mod_timer
可以激活timer。

如果你没有add_timer(),激活也没用printk(“hello,world\n ,%d”,num);}static int timer_init(void){ init_timer(&tm); //初始化定时
器,必须在所有下面复制操作前进行定时器初始化tm.expires = jiffies +1*HZ;
//超时1 秒,执行function tm.function = func; //超时后执行的函数add_timer(&tm); //将定时器加入定时器等待队列中return 0;}static void timer_destory(void){ del_timer(&tm); printk(“remove timer\n”);}tips:感谢大家
的阅读,本文由我司收集整编。

仅供参阅!。

相关主题