LCOV - code coverage report
Current view: top level - include/linux - task_work.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 3 33.3 %
Date: 2022-12-09 01:23:36 Functions: 0 0 -

          Line data    Source code
       1             : /* SPDX-License-Identifier: GPL-2.0 */
       2             : #ifndef _LINUX_TASK_WORK_H
       3             : #define _LINUX_TASK_WORK_H
       4             : 
       5             : #include <linux/list.h>
       6             : #include <linux/sched.h>
       7             : 
       8             : typedef void (*task_work_func_t)(struct callback_head *);
       9             : 
      10             : static inline void
      11             : init_task_work(struct callback_head *twork, task_work_func_t func)
      12             : {
      13           0 :         twork->func = func;
      14             : }
      15             : 
      16             : enum task_work_notify_mode {
      17             :         TWA_NONE,
      18             :         TWA_RESUME,
      19             :         TWA_SIGNAL,
      20             : };
      21             : 
      22             : static inline bool task_work_pending(struct task_struct *task)
      23             : {
      24           0 :         return READ_ONCE(task->task_works);
      25             : }
      26             : 
      27             : int task_work_add(struct task_struct *task, struct callback_head *twork,
      28             :                         enum task_work_notify_mode mode);
      29             : 
      30             : struct callback_head *task_work_cancel_match(struct task_struct *task,
      31             :         bool (*match)(struct callback_head *, void *data), void *data);
      32             : struct callback_head *task_work_cancel(struct task_struct *, task_work_func_t);
      33             : void task_work_run(void);
      34             : 
      35             : static inline void exit_task_work(struct task_struct *task)
      36             : {
      37          93 :         task_work_run();
      38             : }
      39             : 
      40             : #endif  /* _LINUX_TASK_WORK_H */

Generated by: LCOV version 1.14