|
大家好.我编了个小程序,想实现定时器的递归调用,编译完毕.执行后系统死机,,不知道bug在哪
谢谢大家!!!
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/module.h>
#include <asm/io.h>
#include <linux/jiffies.h>
#include <linux/time.h>
#include <linux/timer.h>
MODULE_LICENSE("GPL");
struct timer_list my_timer;
void timer_test(unsigned long data);
void timer_test2(unsigned long data);
static int hello_init(void) {
//my_timer初始化
init_timer(&my_timer);
my_timer.expires= jiffies + 10*HZ;
my_timer.data=0;
my_timer.function=timer_test;
add_timer(&my_timer);
return 0;
}
void timer_test(unsigned long data) {
printk("******************************\n");
printk("my timer here!\n");
//my_timer2的定义(在my_timer的调用函数中定义)
struct timer_list my_timer2;
//初始化my_timer2
init_timer(&my_timer2);
my_timer2.expires= jiffies + 20*HZ;
my_timer.data=0;
my_timer.function=timer_test2;
add_timer(&my_timer2);
}
//my_timer2的实现函数
void timer_test2(unsigned long data) {
printk("ok!i'm my_timer2\n");
}
static void hello_exit(void) {
printk(KERN_ALERT "Goodbye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);
我想在my_timer的调用函数中再添加一个定时器my_timer2 |
|