logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

usleep - suspend execution for microsecond intervals

Attributes

       For an explanation of the terms used in this section, see attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │ InterfaceAttributeValue   │
       ├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │ usleep()                                                                    │ Thread safety │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘

Caveats

       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.

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.

Errors

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

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

History

       4.3BSD, POSIX.1-2001.  POSIX.1-2001 declares it obsolete, suggesting nanosleep(2)  instead.   Removed  in
       POSIX.1-2008.

       On  the  original  BSD  implementation, and before glibc 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.

Library

       Standard C library (libc, -lc)

Name

       usleep - suspend execution for microsecond intervals

Return Value

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

See Also

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

Linux man-pages 6.9.1                              2024-05-02                                          usleep(3)

Standards

       None.

Synopsis

#include<unistd.h>intusleep(useconds_tusec);

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

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

See Also