 |
Index for Section 9r |
|
 |
Alphabetical listing for K |
|
 |
Bottom of page |
|
kernel_thread_w_arg(9r)
NAME
kernel_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
task
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.
start
Specifies a pointer to a routine that is the entry point for the newly
created kernel thread.
argument
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 argument. The
kernel_thread_w_arg routine passes the specified argument to the newly
created kernel thread. The kernel_thread_w_arg routine creates 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 kernel 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)
 |
Index for Section 9r |
|
 |
Alphabetical listing for K |
|
 |
Top of page |
|