Delayed _work使用小结
直接使用delay_work将任务推迟执行,如同queue work一样。
//声明
static struct delayed_work wlan_suspend_worker;
//处理任务函数
static void xxx_worker(struct work_struct *work)
{
.........;
schedule_delayed_work(&wlan_suspend_worker,
5*HZ);
}
//初始化时将任务处理与delayed_work绑定
static int xxx_init(void)
{
int ret;
...........;
INIT_DELAYED_WORK(&wlan_suspend_worker,
xxx_worker);
}
//推出取消delayed_work
static void __exit ath6kl_sdio_exit(void)
{
........;
cancel_delayed_work(&wlan_suspend_worker);
}