複雜一點的add timer

2021-05-14 09:23:51 字數 2079 閱讀 5643

總的來說,timer的用法還是很簡單的。主要需要定義乙個timer_list變數timer、先初始化timer

init_timer(&timer);

then 對timer的相關引數賦值:

timer.function = fun;

timer.expires = jiffies + timer_delay;

add_timer(&timer);

在定時器時間到的時候,會執行fun,如果繼續定時,可以通過

在fun中執行

mod_timer(&timer, jiffies + timer_delay);

在不需要的時候通過呼叫

del_timer(&timer);

刪除定時器。

簡單吧。這樣乙個簡單的定時器就完成了。

呵呵。

附程式:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define second_major 0

static int second_major = second_major;

struct second_dev

;struct second_dev *second_devp;

static void second_timer_handle(unsigned long arg)

int second_open(struct inode *inode, struct file *filp)

int second_release(struct inode *inode, struct file *filp)

static ssize_t second_read(struct file *filp, char __user *buf, size_t count,

loff_t *ppos)

else

}static const struct file_operations second_fops =

;static void second_setup_cdev(struct second_dev *dev, int index)

}int second_init(void)

else

if (ret < 0)

second_devp = kmalloc(sizeof(struct second_dev), gfp_kernel);

if (!second_devp)

memset(second_devp, 0, sizeof(struct second_dev));

second_setup_cdev(second_devp, 0);

return 0;

fail_malloc:

unregister_chrdev_region(devno, 1);

}void second_exit(void)

module_author("song baohua");

module_license("dual bsd/gpl");

module_param(second_major, int, s_irugo);

module_init(second_init);

module_exit(second_exit);

附上使用者端的測試程式:

#include

#include

#include

int main(void)

for(i = 0; i < 20; i++)

close(fd);

}另外一種隱藏lkm的方法

不讓**:

C Linq複雜一點的查詢

using system using system.collections.generic using system.linq public sc scs public course courses public program new student new student new student...

一點一點進步

requestparam,是獲取前端傳遞給後端的引數,可以使get方式,也可以是post方式。若前端傳遞的引數和後端接收的引數名稱不一致,則必須要標註。pathvariable,是獲取get方式,url後面引數,進行引數繫結。1.裝箱就是講基本資料型別轉換為包裝類,拆箱就是自動將包裝類轉換為基本資料...

演算法 複雜了一點點的數字回文

題目描述 藍橋杯 歷屆試題 回文數字 時間限制 1sec 記憶體限制 128mb 提交 6668 解決 2736 題目描述 觀察數字 12321,123321 都有乙個共同的特徵,無論從左到右讀還是從右向左讀,都是相同的。這樣的數字叫做 回文數字。本題要求你找到一些5位或6位的十進位制數字。滿足如下...