kernel_thread_w_arg(9r)kernel_thread_w_arg(9r)NAMEkernel_thread_w_arg - General: Starts a kernel thread with a calling
argument passed in
SYNOPSIS
thread_t kernel_thread_w_arg(
task_t task,
void (*start) (void),
void* argument );
ARGUMENTS
Specifies a pointer to a task structure. This pointer identifies the
task in which the kernel_thread_w_arg routine starts the newly created
kernel thread. Specifies a pointer to a routine that is the entry
point for the newly created kernel thread. Specifies the argument that
kernel_thread_w_arg passes to the entry point specified in start.
DESCRIPTION
The kernel_thread_w_arg routine creates and starts a kernel thread in
the specified task at the specified entry point with a specified argu‐
ment. The kernel_thread_w_arg routine passes the specified argument to
the newly created kernel thread. The kernel_thread_w_arg routine cre‐
ates and starts a kernel thread with timeshare scheduling. A kernel
thread created with timeshare scheduling means that its priority
degrades if it consumes an inordinate amount of CPU resources. A ker‐
nel module should call kernel_thread_w_arg only for long-running tasks.
A kernel module should always attach a kernel thread to the ``first
task.''
NOTES
This routine is actually a convenience wrapper for the thread_create
routine (which creates the kernel thread) and the thread_start routine
(which starts the newly created kernel thread).
The kernel_thread_w_arg routine behaves identically to kernel_isrthread
except that with kernel_thread_w_arg you can pass an argument to the
entry point for the newly created kernel thread.
RETURN VALUES
Upon successful completion, kernel_thread_w_arg returns a pointer to
the thread structure associated with the kernel thread started at the
specified entry point. Kernel modules can use this pointer as a handle
to a specific kernel thread in calls to other kernel threads-related
routines.
SEE ALSO
Routines: kernel_isrthread(9r), thread_create(9r), thread_start(9r)
Data Structures: task(9s), thread(9s)kernel_thread_w_arg(9r)