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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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)