Provided by: manpages-pl-dev_4.13-4_all bug

NAZWA

       usleep - zawiesza wykonanie na czas wyrażony w mikrosekundach

SKŁADNIA

       #include <unistd.h>

       int usleep(useconds_t usec);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       usleep():
           Od glibc 2.12:
               (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
                   || /* Glibc od 2.19: */ _DEFAULT_SOURCE
                   || /* Glibc w wersji <= 2.19: */ _BSD_SOURCE
           Przed glibc 2.12:
               _BSD_SOURCE || _XOPEN_SOURCE >= 500

OPIS

       Funkcja  usleep()  zawiesza wykonanie wywołującego procesu na (co najmniej) usec mikrosekund. Zawieszenie
       może  być  delikatnie  wydłużone  przez  jakąkolwiek  aktywność  systemu  albo  przez  czas  spędzony  na
       przetwarzaniu wywołania, albo z powodu ziarnistości (częstotliwości odświeżania) liczników systemowych.

WARTOŚĆ ZWRACANA

       Funkcja  usleep() w przypadku powodzenia zwraca 0. W razie wystąpienia błędu zwracane jest -1 i ustawiana
       jest zmienna errno wskazując na błąd.

BŁĘDY

       EINTR  Przerwane przez sygnał, patrz signal(7).

       EINVAL usec jest większe lub równe 1000000. (Dla systemów, dla których jest to traktowane jako błąd).

ATRYBUTY

       Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
       ┌───────────┬────────────────────────┬─────────┐
       │ InterfejsAtrybutWartość │
       ├───────────┼────────────────────────┼─────────┤
       │ usleep()  │ Bezpieczeństwo wątkowe │ MT-Safe │
       └───────────┴────────────────────────┴─────────┘

ZGODNE Z

       4.3BSD, POSIX.1-2001.  POSIX.1-2001 uznają tę funkcję jako przestarzałą, sugerując używanie zamiast  niej
       funkcji nanosleep(2).  POSIX.1-2008 usuwa opis funkcji usleep().

       W  oryginalnej  implementacji  BSD  oraz  w  wersjach  wcześniejszych  niż  2.2.2 biblioteki glibc  typem
       zwracanym przez tę funkcję był void. Wersja POSIX zwraca int, taki typ jest też zwracany przez  glibc  od
       wersji 2.2.2.

       SUSv2 i POSIX.1-2001 dokumentują tylko błąd EINVAL.

UWAGI

       Typ  useconds_t  jest  typem  unsigned  integer,  zdolnym  do  przechowywania liczb naturalnych z zakresu
       [0,1000000]. Programy będą bardziej przenośne, gdy nigdy nie użyją wprost tego typu. Proszę użyć

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

       Interakcja tej funkcji z sygnałem SIGALRM oraz z innymi  funkcjami  licznikowymi,  takimi  jak  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) jest nieokreślona.

ZOBACZ TAKŻE

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

O STRONIE

       Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux man-pages. Opis  projektu,  informacje
       dotyczące   zgłaszania   błędów   oraz   najnowszą   wersję   oryginału   można   znaleźć   pod   adresem
       https://www.kernel.org/doc/man-pages/.

T◈UMACZENIE

       Autorami polskiego tłumaczenia niniejszej strony podręcznika są:  Robert  Luberda  <robert@debian.org>  i
       Michał Kułach <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3  lub  nowszej.   Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej manpages-pl-
       list@lists.sourceforge.net.

                                               15 września 2017 r.                                     USLEEP(3)