Provided by: manpages-pl-dev_0.7-2_all 

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 nie jest mniejsze niż 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).
┌───────────┬────────────────────────┬─────────┐
│ Interfejs │ Atrybut │ Wartość │
├───────────┼────────────────────────┼─────────┤
│ 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 4.07 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 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ą 4.07 oryginału.
2016-03-15 USLEEP(3)