1 <h2>thread_create
</h2>
<hr>
<p>
<strong>Function
</strong> - Create a thread within a task.
<h3>SYNOPSIS
</h3>
<pre>
<strong>kern_return_t thread_create
</strong>
<strong>(task_t
</strong> <var>parent_task
</var>,
<strong>thread_act_t
</strong> <var>child_thread
</var><strong>);
</strong>
</pre>
<h3>PARAMETERS
</h3>
<dl>
<p>
<dt> <var>parent_task
</var>
<dd>
[in task send right]
The port for the task that is to contain the new
thread.
<p>
<dt> <var>child_thread
</var>
<dd>
[out thread send right]
The kernel-assigned name for the new thread.
</dl>
<h3>DESCRIPTION
</h3>
<p>
The
<strong>thread_create
</strong> function creates a new thread within
<var>parent_task
</var>. The new thread has a suspend count of one and
no processor state.
<p>
The new thread holds a send right for its thread kernel port.
A send right for the
thread's kernel port is also returned to the calling task or
thread in
<var>child_thread
</var>.
The new thread's exception ports are set to
<strong>MACH_PORT_NULL
</strong>.
<h3>NOTES
</h3>
<p>
To get a new thread running, first use
<strong>thread_set_state
</strong>
to set a processor state
for the thread. Then, use
<strong>thread_resume
</strong> to schedule
the thread for execution.
Alternately, use
<strong>thread_create_running
</strong>.
<h3>RETURN VALUES
</h3>
<p>
Only generic errors apply.
<h3>RELATED INFORMATION
</h3>
<p>
Functions:
<a href=
"task_create.html"><strong>task_create
</strong></a>,
<a href=
"task_threads.html"><strong>task_threads
</strong></a>,
<a href=
"thread_get_special_port.html"><strong>thread_get_special_port
</strong></a>,
<a href=
"thread_get_state.html"><strong>thread_get_state
</strong></a>,
<a href=
"thread_resume.html"><strong>thread_resume
</strong></a>,
<a href=
"thread_set_special_port.html"><strong>thread_set_special_port
</strong></a>,
<a href=
"thread_set_state.html"><strong>thread_set_state
</strong></a>,
<a href=
"thread_suspend.html"><strong>thread_suspend
</strong></a>,
<a href=
"thread_terminate.html"><strong>thread_terminate
</strong></a>,
<a href=
"thread_create_running.html"><strong>thread_create_running
</strong></a>.