.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 \*9/src/lib9/sleep.c
.SH SEE ALSO
.IR intro (3)
.SH DIAGNOSTICS
These functions set
.IR errstr .
.SH BUGS
To avoid name conflicts with the underlying system,
.I sleep
and
.I alarm
are preprocessor macros defined as
.I p9sleep
and
.IR p9alarm ;
see
.IR intro (3).
