4 <strong>Function
</strong> - Create a thread within a task.
7 <strong>kern_return_t thread_create
</strong>
8 <strong>(task_t
</strong> <var>parent_task
</var>,
9 <strong>thread_act_t
</strong> <var>child_thread
</var><strong>);
</strong>
14 <dt> <var>parent_task
</var>
17 The port for the task that is to contain the new
20 <dt> <var>child_thread
</var>
22 [out thread send right]
23 The kernel-assigned name for the new thread.
27 The
<strong>thread_create
</strong> function creates a new thread within
28 <var>parent_task
</var>. The new thread has a suspend count of one and
31 The new thread holds a send right for its thread kernel port.
33 thread's kernel port is also returned to the calling task or
34 thread in
<var>child_thread
</var>.
35 The new thread's exception ports are set to
<strong>MACH_PORT_NULL
</strong>.
38 To get a new thread running, first use
<strong>thread_set_state
</strong>
39 to set a processor state
40 for the thread. Then, use
<strong>thread_resume
</strong> to schedule
41 the thread for execution.
42 Alternately, use
<strong>thread_create_running
</strong>.
43 <h3>RETURN VALUES
</h3>
45 Only generic errors apply.
46 <h3>RELATED INFORMATION
</h3>
49 <a href=
"task_create.html"><strong>task_create
</strong></a>,
50 <a href=
"task_threads.html"><strong>task_threads
</strong></a>,
51 <a href=
"thread_get_special_port.html"><strong>thread_get_special_port
</strong></a>,
52 <a href=
"thread_get_state.html"><strong>thread_get_state
</strong></a>,
53 <a href=
"thread_resume.html"><strong>thread_resume
</strong></a>,
54 <a href=
"thread_set_special_port.html"><strong>thread_set_special_port
</strong></a>,
55 <a href=
"thread_set_state.html"><strong>thread_set_state
</strong></a>,
56 <a href=
"thread_suspend.html"><strong>thread_suspend
</strong></a>,
57 <a href=
"thread_terminate.html"><strong>thread_terminate
</strong></a>,
58 <a href=
"thread_create_running.html"><strong>thread_create_running
</strong></a>.