Provided by: manpages-dev_5.13-1_all bug

NAME

       usleep - suspend execution for microsecond intervals

SYNOPSIS

       #include <unistd.h>

       int usleep(useconds_t usec);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       usleep():
           Since glibc 2.12:
               (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
                   || /* Glibc since 2.19: */ _DEFAULT_SOURCE
                   || /* Glibc <= 2.19: */ _BSD_SOURCE
           Before glibc 2.12:
               _BSD_SOURCE || _XOPEN_SOURCE >= 500

DESCRIPTION

       The  usleep()  function  suspends  execution  of  the  calling  thread for (at least) usec
       microseconds.  The sleep may be lengthened slightly by any system activity or by the  time
       spent processing the call or by the granularity of system timers.

RETURN VALUE

       The  usleep()  function returns 0 on success.  On error, -1 is returned, with errno set to
       indicate the error.

ERRORS

       EINTR  Interrupted by a signal; see signal(7).

       EINVAL usec is greater than or equal to 1000000.  (On systems where that is considered  an
              error.)

ATTRIBUTES

       For an explanation of the terms used in this section, see attributes(7).

       ┌───────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │InterfaceAttributeValue   │
       ├───────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │usleep()                                                       │ Thread safety │ MT-Safe │
       └───────────────────────────────────────────────────────────────┴───────────────┴─────────┘

CONFORMING TO

       4.3BSD,  POSIX.1-2001.   POSIX.1-2001  declares  this  function obsolete; use nanosleep(2)
       instead.  POSIX.1-2008 removes the specification of usleep().

       On the original BSD implementation, and in glibc before version 2.2.2, the return type  of
       this function is void.  The POSIX version returns int, and this is also the prototype used
       since glibc 2.2.2.

       Only the EINVAL error return is documented by SUSv2 and POSIX.1-2001.

NOTES

       The type useconds_t is an unsigned integer type capable of holding integers in  the  range
       [0,1000000].   Programs  will be more portable if they never mention this type explicitly.
       Use

           #include <unistd.h>
           ...
               unsigned int usecs;
           ...
               usleep(usecs);

       The interaction of this function with the SIGALRM signal, and with other  timer  functions
       such  as alarm(2), sleep(3), nanosleep(2), setitimer(2), timer_create(2), timer_delete(2),
       timer_getoverrun(2), timer_gettime(2), timer_settime(2), ualarm(3) is unspecified.

SEE ALSO

       alarm(2),  getitimer(2),  nanosleep(2),  select(2),  setitimer(2),  sleep(3),   ualarm(3),
       time(7)

COLOPHON

       This  page  is  part of release 5.13 of the Linux man-pages project.  A description of the
       project, information about reporting bugs, and the latest version of  this  page,  can  be
       found at https://www.kernel.org/doc/man-pages/.

                                            2021-03-22                                  USLEEP(3)