Linux内核中timer_list定时器的使用

来源:互联网 发布:张世杰 知乎 编辑:程序博客网 时间:2024/05/16 01:25

设置定时器结构体的回调函数参数、回调函数、到期时间

初始化定时器

添加定时器

如果需要重复执行,则在回调函数里使用mod_timer继续激活定时器回调

使用del_timer取消定时器


#include <linux/module.h>#include <linux/timer.h>static struct timer_list test_timer;static void test_func(unsigned long data){printk("jiffies: %ld\n", jiffies);printk("data: %ld\n", data);mod_timer(&test_timer, jiffies + 5 * HZ);}static int __init test_init(void){test_timer.data = 100;test_timer.function = test_func;test_timer.expires = jiffies + 5 * HZ;init_timer(&test_timer);add_timer(&test_timer);return 0;}static void __exit test_exit(void){int ret = del_timer(&test_timer);if (ret) {printk("deactivate a pending timer\n");} else {printk("timer is inactive\n");}}module_init(test_init);module_exit(test_exit);MODULE_AUTHOR("tony");MODULE_DESCRIPTION("test");MODULE_LICENSE("GPL");MODULE_ALIAS("test");


0 0
原创粉丝点击