--- _SB/Libc/gen/FreeBSD/usleep.3 2004-11-25 11:38:02.000000000 -0800 +++ _SB/Libc/gen/FreeBSD/usleep.3.edit 2006-06-28 16:55:51.000000000 -0700 @@ -37,30 +37,34 @@ .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