Chinaunix首页 | 论坛 | 博客
  • 博客访问: 185654
  • 博文数量: 69
  • 博客积分: 1430
  • 博客等级: 上尉
  • 技术积分: 686
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-22 11:12
文章存档

2011年(1)

2010年(11)

2009年(35)

2008年(22)

我的朋友

分类: LINUX

2008-07-19 12:37:25

根据别人的模块改的,不管怎么样,贴出来,大家指正。
//timer.c
#include
#include
#include
#include
#include
#define MODULE_NAME "MODULE_TIMER .. Maomao 's timer"
#define SUCCESS 0
#define CHECK_INTERVAL 2*HZ

struct timer_list mm_timer;

void mm_runtimer(void);
void mm_timeout(unsigned long ptr);
static int counter=0;

static __init int timer_init(void);
static __exit void timer_exit(void);
void mm_runtimer(void)
{
        init_timer(&mm_timer);
        mm_timer.function = mm_timeout;
        mm_timer.data = counter++;
        mm_timer.expires = jiffies+CHECK_INTERVAL;
        add_timer(&mm_timer);
        return;
}
void mm_timeout(unsigned long ptr)
{
        printk("<0>,timer reach,jiffies=%lu,ptr=%lu\n",jiffies,ptr);
        if(counter<5){
                del_timer(&mm_timer);
                mm_runtimer();
        }
        else{
                printk("<0>%d times reach return\n",counter);
                del_timer(&mm_timer);
                return;
        }
}

static __init int timer_init(void)
{
        mm_runtimer();
        return 0;
}

static __exit void timer_exit(void)
{
        return ;
}
module_init(timer_init);
module_exit(timer_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("mm");
阅读(725) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~