1 <h2>task_sample
</h2>
<hr>
<p>
<strong>Function
</strong> - Sample the target task's thread program counters periodically.
<h3>SYNOPSIS
</h3>
<pre>
<strong>kern_return_t task_sample
</strong>
<strong>(task_t
</strong> <var>sample_task
</var>,
<strong>mach_port_make_send_t
</strong> <var>reply_port
</var><strong>);
</strong>
</pre>
<h3>PARAMETERS
</h3>
<dl>
<p>
<dt> <var>sample_task
</var>
<dd>
[in task send right]
Port for the task whose threads' PC are to be
sampled.
<p>
<dt> <var>reply_port
</var>
<dd>
[in sample receive (to be converted to send) right]
Port to which PC sample buffers are sent. A value of
<strong>MACH_PORT_NULL
</strong>
stops PC sampling for the task.
</dl>
<h3>DESCRIPTION
</h3>
<p>
The
<strong>task_sample
</strong> function causes the program counter (PC) of the
specified
<var>sample_task
</var> (actually, all of the threads within
<var>sample_task
</var>) to be sampled periodically (whenever one of the threads
happens to be running at the time of the kernel's "hardclock" interrupt).
The set of PC sample values obtained are saved in buffers which are sent to
the specified
<var>reply_port
</var> in
<strong>receive_samples
</strong> messages.
<h3>RETURN VALUES
</h3>
<p>
Only generic errors apply.
<h3>RELATED INFORMATION
</h3>
<p>
Functions:
<a href=
"thread_sample.html"><strong>thread_sample
</strong></a>,
<a href=
"receive_samples.html"><strong>receive_samples
</strong></a>.