#include <linux/module.h> #include <linux/init.h> MODULE_LICENSE("Dual BSD/GPL"); #define TIMEOUT_VALUE (5 * HZ) static struct timer_list tickfn; static void sample_timeout(unsigned long arg) { struct timer_list *tick = (struct timer_list *) arg; printk(KERN_INFO "ptr %p\n", tick); } static int __init sample_init(void) { printk(KERN_INFO "driver loaded\n"); init_timer(&tickfn); tickfn.function = sample_timeout; tickfn.data = (unsigned long) &tickfn; tickfn.expires = jiffies + TIMEOUT_VALUE; add_timer(&tickfn); return 0; } static void __exit sample_exit(void) { int ret; ret = del_timer_sync(&tickfn); printk(KERN_INFO "driver unloaded (%d)\n", ret); } module_init(sample_init); module_exit(sample_exit);
2018年2月13日 星期二
Linux kernel - 創建一個5秒的timer
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言