.TH SLEEP 3
.SH NAME
sleep, alarm \- delay, ask for delayed note
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.PP
.B
int sleep(long millisecs)
.PP
.B
long alarm(unsigned long millisecs)
.SH DESCRIPTION
.I Sleep
suspends the current process for the number
of milliseconds specified by the argument.
The actual suspension time may be a little more or less than
the requested time. If
.I millisecs
is 0, the process
gives up the CPU if another process is waiting to run, returning
immediately if not.
Sleep returns \-1 if interrupted, 0 otherwise.
.PP
.I Alarm
causes an
.B alarm
note (see
.IR notify (3))
to be sent to the invoking process after the number of milliseconds
given by the argument.
Successive calls to
.I alarm
reset the alarm clock.
A zero argument clears the alarm.
The return value is the amount of time previously remaining in
the alarm clock.
.SH SOURCE
.B /usr/local/plan9/src/libc/9syscall
.SH SEE ALSO
.IR intro (3)
.SH DIAGNOSTICS
These functions set
.IR errstr .
