Name

kthread_create — create a kthread.

Synopsis

struct task_struct * kthread_create (int (* threadfn(void *data),
 void *  data,
 const char  namefmt[],
   ...);

Arguments

threadfn

the function to run until signal_pending(current).

data

data ptr for threadfn.

namefmt[]

printf-style name for the thread.

...

variable arguments

Description

This helper function creates and names a kernel thread. The thread will be stopped: use wake_up_process to start it. See also kthread_run, kthread_create_on_cpu.

When woken, the thread will run threadfn() with data as its argument. threadfn() can either call do_exit directly if it is a standalone thread for which noone will call kthread_stop, or return when 'kthread_should_stop' is true (which means kthread_stop has been called). The return value should be zero or a negative error number; it will be passed to kthread_stop.

Returns a task_struct or ERR_PTR(-ENOMEM).