Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96297
  • 博文数量: 17
  • 博客积分: 37
  • 博客等级: 民兵
  • 技术积分: 217
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-09 18:24
文章分类
文章存档

2016年(4)

2015年(3)

2014年(9)

2011年(1)

我的朋友

分类: C/C++

2014-07-17 08:19:36

最基本的内核定时器实现

点击(此处)折叠或打开

  1. struct timer_list print_timer;
  2. static void print_message(unsigned long arg){
  3.     printk("period print message\n");
  4.     struct timer_list *timer=(struct timer_list *)arg;
  5.     timer->expires = jiffies + 10*HZ;
  6.     add_timer( timer );
  7. }
  8. #define ACCESS_CHECK_INTERVAL 4*HZ

  9. static int __init netlink_init(void)
  10. {
  11.     
  12.    // access_check_timer_startup( &access_check_timer);
  13.    init_timer(&print_timer);
  14.    print_timer.expires = jiffies + ACCESS_CHECK_INTERVAL;
  15.         print_timer.function = print_message;
  16.         print_timer.data = (unsigned long)&print_timer;
  17.         add_timer( &print_timer );
  18.       printk("hello moto\n");
  19.    
  20.     return 0;
  21. }

  22. static void __exit netlink_exit(void)
  23. {
  24.     printk("byebye\n");
  25.     del_timer( &print_timer );/* 删除定时器*/
  26.   
  27. }

  28. module_init(netlink_init);
  29. module_exit(netlink_exit);
    
阅读(1019) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~