Fosdccf.blog.chinaunix.net
sdccf
全部博文(19283)
Linux酷软(214)
tmp(0)
PostgreSQL(93)
Solaris(383)
AIX(173)
SCOUNIX(575)
DB2(1005)
Shell(386)
C/C++(1187)
MySQL(1750)
Sybase(465)
Oracle(3695)
Informix(548)
HP-UX(0)
IBM AIX(2)
Sun Solaris(0)
BSD(1)
Linux(8597)
SCO UNIX(23)
2011年(1)
2009年(125)
2008年(19094)
2007年(63)
clifford
linky521
曾德标
fengzhan
leon_yu
mcuflowe
yt200902
guanyuji
GY123456
snow888
carlos94
丸喵喵
sean229
cxunix
可怜的猪
cqxc413
xzzgege
wb123456
分类: C/C++
2008-03-23 20:14:35
Linux内核定时器的应用 [CODE] #include #include #include #include #include #include #include MODULE_LICENSE("GPL"); static DECLARE_WAIT_QUEUE_HEAD(wq); static int flag = 0; struct timer_list my_timer; void timer_test(unsigned long data) { printk("this is a test\n"); flag = 1; wake_up_interruptible(&wq); } static int __init hello_init(void) { init_timer(&my_timer); my_timer.expires = jiffies + 5000; my_timer.data = 0; my_timer.function = timer_test; add_timer(&my_timer); wait_event_interruptible(wq, flag != 0); flag = 0; return 0; } static void __exit hello_exit(void) { del_timer(&my_timer); printk(KERN_ALERT "Goodbye\n"); } module_init(hello_init); module_exit(hello_exit); [/CODE]
Linux内核定时器的应用
[CODE] #include #include #include #include #include #include #include MODULE_LICENSE("GPL"); static DECLARE_WAIT_QUEUE_HEAD(wq); static int flag = 0; struct timer_list my_timer; void timer_test(unsigned long data) { printk("this is a test\n"); flag = 1; wake_up_interruptible(&wq); } static int __init hello_init(void) { init_timer(&my_timer); my_timer.expires = jiffies + 5000; my_timer.data = 0; my_timer.function = timer_test; add_timer(&my_timer); wait_event_interruptible(wq, flag != 0); flag = 0; return 0; } static void __exit hello_exit(void) { del_timer(&my_timer); printk(KERN_ALERT "Goodbye\n"); } module_init(hello_init); module_exit(hello_exit); [/CODE]
上一篇:Linux内核初始化及启动之用户模式开始
下一篇:Linux操作系统下的多线程编程详细解析
登录 注册