1 <h2>clock_sleep
</h2>
<hr>
<p>
<strong>System Trap
</strong> - Sleep until a given time.
<h3>SYNOPSIS
</h3>
<pre>
<strong>kern_return_t clock_sleep
</strong>
<strong>(mach_port_t
</strong> <var>clock_name
</var>,
<strong>sleep_type_t
</strong> <var>sleep_type
</var>,
<strong>tvalspec_t
</strong> <var>sleep_time
</var>,
<strong>clock_name
</strong> <var>wake_time
</var><strong>);
</strong>
</pre>
<h3>PARAMETERS
</h3>
<dl>
<p>
<dt><var>clock_name
</var>
<dd>
[in clock-name send right] The name (or control) port for the clock.
<p>
<dt><var>sleep_type
</var>
<dd>
[in scalar] How to interpret the sleep_time value:
<dl>
<p>
<dt><strong>TIME_RELATIVE
</strong>
<dd>
Interpret the sleep time as relative to the current time.
<p>
<dt><strong>TIME_ABSOLUTE
</strong>
<dd>
Interpret the sleep time as an absolute time.
</dl>
<p>
<dt><var>sleep_time
</var>
<dd>
[in structure] The time when the sleep is to terminate.
<p>
<dt><var>wake_time
</var>
<dd>
[out structure] The actual (absolute) time at which the sleep terminated.
</dl>
<h3>DESCRIPTION
</h3>
<p>
The
<strong>clock_sleep
</strong> system trap delays the invoking
thread until a specified time. This sleep may be aborted by
<strong>thread_abort
</strong>. Not all clocks provide this service
but the REALTIME clock must.
<p>
If the specified time is in the past, the call returns immediately
with the wake time being the current time. If the clock's time is
changed (
<strong>clock_set_time
</strong>), the sleep will be
interrupted. The thread will waken at the service time nearest the
specified sleep time as governed by the current clock alarm
resolution.
<h3>RETURN VALUES
</h3>
<dl>
<p>
<dt> <strong>KERN_FAILURE
</strong>
<dd>
The clock does not support a sleep service.
<p>
<dt> <strong>KERN_ABORTED
</strong>
<dd>
The sleep was interrupted by thread_abort or terminated via use of
clock_set_time.
</dl>
<h3>RELATED INFORMATION
</h3>
<p>
Functions:
<a href=
"host_get_clock_service.html"><strong>host_get_clock_service
</strong></a>,
<a href=
"clock_get_attributes.html"><strong>clock_get_attributes
</strong></a>,
<a href=
"clock_get_time.html"><strong>clock_get_time
</strong></a>,
<a href=
"clock_alarm.html"><strong>clock_alarm
</strong></a>,
<a href=
"clock_set_time.html"><strong>clock_set_time
</strong></a>,
<a href=
"thread_abort.html"><strong>thread_abort
</strong></a>,
<p>
Data Structures:
tvalspec.