Provided by: manpages-pl-dev_0.6-2_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:
               _BSD_SOURCE ||
                   (_XOPEN_SOURCE >= 500 ||
                       _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
                   !(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
           Przed glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
               _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

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  nie  jest mniejsze niż 1000000. (Dla systemów, dla których jest to traktowane
              jako błąd).

ATRYBUTY

   Wielowątkowość (patrz pthreads(7))
       Funkcja usleep() jest wątkowo bezpieczna.

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  3.71  projektu  Linux  man-pages.  Opis
       projektu,  informacje  dotyczące  zgłaszania błędów, oraz najnowszą wersję oryginału można
       znaleźć pod adresem http://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

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

       Polskie  tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na
       stronie  http://sourceforge.net/projects/manpages-pl/.  Jest   zgodne   z   wersją    3.71
       oryginału.

                                            2013-12-10                                  USLEEP(3)