Provided by: manpages-dev_3.35-0.1ubuntu1_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:
               _BSD_SOURCE ||
                   (_XOPEN_SOURCE >= 500 ||
                       _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
                   !(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
           Before glibc 2.12:
               _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

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

       0 on success, -1 on error.

ERRORS

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

       EINVAL usec is not smaller than 1000000.  (On systems where that is considered an error.)

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 3.35 of the Linux man-pages project.  A description of the
       project, and information about reporting bugs, can be found at  http://man7.org/linux/man-
       pages/.

                                            2010-12-03                                  USLEEP(3)