.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 "useconds_t 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