at v3.6-rc3 612 B view raw
1#ifndef _LINUX_TASK_WORK_H 2#define _LINUX_TASK_WORK_H 3 4#include <linux/list.h> 5#include <linux/sched.h> 6 7typedef void (*task_work_func_t)(struct callback_head *); 8 9static inline void 10init_task_work(struct callback_head *twork, task_work_func_t func) 11{ 12 twork->func = func; 13} 14 15int task_work_add(struct task_struct *task, struct callback_head *twork, bool); 16struct callback_head *task_work_cancel(struct task_struct *, task_work_func_t); 17void task_work_run(void); 18 19static inline void exit_task_work(struct task_struct *task) 20{ 21 if (unlikely(task->task_works)) 22 task_work_run(); 23} 24 25#endif /* _LINUX_TASK_WORK_H */