Branch data Line data Source code
1 : : #ifndef _LINUX_TASK_WORK_H
2 : : #define _LINUX_TASK_WORK_H
3 : :
4 : : #include <linux/list.h>
5 : : #include <linux/sched.h>
6 : :
7 : : typedef void (*task_work_func_t)(struct callback_head *);
8 : :
9 : : static inline void
10 : : init_task_work(struct callback_head *twork, task_work_func_t func)
11 : : {
12 : 3875930 : twork->func = func;
13 : : }
14 : :
15 : : int task_work_add(struct task_struct *task, struct callback_head *twork, bool);
16 : : struct callback_head *task_work_cancel(struct task_struct *, task_work_func_t);
17 : : void task_work_run(void);
18 : :
19 : : static inline void exit_task_work(struct task_struct *task)
20 : : {
21 : 1104212 : task_work_run();
22 : : }
23 : :
24 : : #endif /* _LINUX_TASK_WORK_H */
|