Chinaunix首页 | 论坛 | 博客
  • 博客访问: 70746
  • 博文数量: 83
  • 博客积分: 1320
  • 博客等级: 中尉
  • 技术积分: 805
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-20 14:54
文章分类

全部博文(83)

文章存档

2010年(83)

我的朋友

分类:

2010-08-10 11:11:54

1. 运行时需要建立 work_struct

INIT_WORK in workqueue is used above linux kerner version 2.5.41,it is very like tasklet in some distance,use the workqueue sample,it will be run at the appropriate time controlled by kernel.From 2.6.20 INIT_WORK only reccept two paremeter, not three paremeter.

 

/**************************************************************/
#include
#include
#include
#include
#include
static struct work_struct works;
char list[20];

static void intr_print(struct work_struct *work)
{
    printk("\n%s\n", list);
}
static int intr_init(void)
{
    strlcpy(list, "Hello world", 20);
    INIT_WORK(&works, intr_print);
    schedule_work(&works);
    return 0;
}
static void intr_exit(void)
{
    printk("intr_exit");
}
module_init(intr_init);
module_exit(intr_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("XX");
/***************************************************************/

阅读(626) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~