.\" SUCH DAMAGE.
.\"
.\" @(#)usleep.3 8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/gen/usleep.3,v 1.10.2.7 2001/12/14 18:33:51 ru Exp $
+.\" $FreeBSD: src/lib/libc/gen/usleep.3,v 1.18 2002/12/29 00:59:09 mike Exp $
.\"
.Dd February 13, 1998
.Dt USLEEP 3
.Os
.Sh NAME
.Nm usleep
-.Nd suspend process execution for an interval measured in microseconds
+.Nd suspend thread execution for an interval measured in microseconds
.Sh LIBRARY
.Lb libc
.Sh SYNOPSIS
.In unistd.h
.Ft int
-.Fn usleep "unsigned int microseconds"
+.Fo usleep
+.Fa "useconds_t useconds"
+.Fc
.Sh DESCRIPTION
The
.Fn usleep
-function suspends execution of the calling process until either
-.Fa microseconds
-microseconds have elapsed or a signal is delivered to the process and its
-action is to invoke a signal-catching function or to terminate the
-process.
-System activity may lengthen the sleep by an indeterminate amount.
+function suspends execution of the calling thread until either
+.Fa useconds
+microseconds have elapsed
+or a signal is delivered to the thread whose action
+is to invoke a signal-catching function
+or to terminate the thread or process.
+The actual time slept may be longer, due to system latencies
+and possible limitations in the timer resolution of the hardware.
.Pp
-This function is implemented using
-.Xr nanosleep 2
+This function is implemented, using
+.Xr nanosleep 2 ,
by pausing for
-.Fa microseconds
+.Fa useconds
microseconds or until a signal occurs.
Consequently, in this implementation,
-sleeping has no effect on the state of process timers,
+sleeping has no effect on the state of process timers
and there is no special handling for SIGALRM.
.Sh RETURN VALUES
.Rv -std usleep