0

PFB伪代码:

struct work_struct my_work;

my_wq = alloc_workqueue();

INIT_WORK(&my_work, worker_func);

void worker_func() {

  if (condition)
      queue_work(my_wq, my_work);

}

这是允许的吗?

4

1 回答 1

0

是的,完全允许在执行其功能时重新提交作品。

还允许取消分配执行功能的工作结构。工作队列的实现已经准备好了(kernel/workqueue.c):

允许从调用它的函数内部释放 struct work_struct,我们也需要考虑 lockdep ......

于 2021-08-30T13:30:19.307 回答