flush_delayed_work和cancel_delayed_work_sync之间的区别是什么?

时间:2016-05-13 17:30:28

标签: linux linux-kernel linux-device-driver embedded-linux

我应该何时使用flush_delayed_workcancel_delayed_work_sync

我有以下延迟的工作队列功能:

static void workq_function(struct work_struct *work)
{
    // ...
    queue_delayed_work_on(2, wrkq, work, msecs_to_jiffies(3000));
}

我在工作队伍中再次重新安排我的工作队伍。 这样做是不错的做法?

现在我将在rmmod中使用以下内容:

flush_delayed_work(&work);
cancel_delayed_work_sync(&work);
destroy_workqueue(wrkq);

我的系统在rmmod模块的这些API之后挂起。

0 个答案:

没有答案