LCOV - code coverage report
Current view: top level - lkbce/include/linux - kthread.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2017-01-25 Functions: 0 0 -

          Line data    Source code
       1             : #ifndef _LINUX_KTHREAD_H
       2             : #define _LINUX_KTHREAD_H
       3             : /* Simple interface for creating and stopping kernel threads without mess. */
       4             : #include <linux/err.h>
       5             : #include <linux/sched.h>
       6             : 
       7             : struct task_struct *kthread_create(int (*threadfn)(void *data),
       8             :                                    void *data,
       9             :                                    const char namefmt[], ...)
      10             :         __attribute__((format(printf, 3, 4)));
      11             : 
      12             : /**
      13             :  * kthread_run - create and wake a thread.
      14             :  * @threadfn: the function to run until signal_pending(current).
      15             :  * @data: data ptr for @threadfn.
      16             :  * @namefmt: printf-style name for the thread.
      17             :  *
      18             :  * Description: Convenient wrapper for kthread_create() followed by
      19             :  * wake_up_process().  Returns the kthread or ERR_PTR(-ENOMEM).
      20             :  */
      21             : #define kthread_run(threadfn, data, namefmt, ...)                          \
      22             : ({                                                                         \
      23             :         struct task_struct *__k                                            \
      24             :                 = kthread_create(threadfn, data, namefmt, ## __VA_ARGS__); \
      25             :         if (!IS_ERR(__k))                                                  \
      26             :                 wake_up_process(__k);                                      \
      27             :         __k;                                                               \
      28             : })
      29             : 
      30             : void kthread_bind(struct task_struct *k, unsigned int cpu);
      31             : int kthread_stop(struct task_struct *k);
      32             : int kthread_should_stop(void);
      33             : 
      34             : int kthreadd(void *unused);
      35             : extern struct task_struct *kthreadd_task;
      36           1 : 
      37             : #endif /* _LINUX_KTHREAD_H */

Generated by: LCOV version 1.10