macro and text revision (-mdoc version 3)
[unix-history] / usr / src / lib / libc / gen / sleep.3
.\" Copyright (c) 1986, 1991 Regents of the University of California.
.\" All rights reserved.
.\"
.\" %sccs.include.redist.man%
.\"
.\" @(#)sleep.3 6.3 (Berkeley) %G%
.\"
.Dd
.Dt SLEEP 3
.Os
.Sh NAME
.Nm sleep
.Nd suspend process execution for interval of seconds
.Sh SYNOPSIS
.Fd #include <unistd.h>
.Ft int
.Fn sleep "u_int seconds"
.Sh DESCRIPTION
The
.Fn sleep
function
suspends execution of the calling process
for
.Fa seconds
of time.
System activity or time spent in processing the
call may lengthen the sleep by a second.
.Pp
If a timer is already running on the process its state is saved.
If the value
.Fa seconds
is more than or equal to the remaining clock time for the saved timer,
the sleep time is set to
the remaining clock time.
The state of the previous timer
is restored after
.Fa seconds
has passed.
.Pp
This function is implemented using
.Xr setitimer 2 ;
it requires eight system calls each time it is invoked.
A similar but less compatible function can be obtained with a single
.Xr select 2 ;
such a function would not restart after signals, but would not interfere
with other uses of
.Xr setitimer .
.Sh RETURN VALUES
.Sh SEE ALSO
.Xr setitimer 2 ,
.Xr sigpause 2 ,
.Xr usleep 3
.Sh HISTORY
A
.Fn sleep
function appeared in
.At v7 .