table of contents
other sections
USLEEP(3) | Podręcznik programisty Linuksa | USLEEP(3) |
NAZWA¶
usleep - zawiesza wykonanie na czas wyrażony w mikrosekundachSKŁADNIA¶
#include <unistd.h>int usleep(useconds_t usec);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):
- Od glibc 2.1.2:
-
_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¶
0 w razie powodzenia, -1 w razie błędu.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).
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().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.40 projektu Linux man-pages. Opis projektu oraz informacje dotyczące zgłaszania błędów można znaleźć pod adresem http://www.kernel.org/doc/man-pages/.TŁUMACZENIE¶
Autorem polskiego tłumaczenia niniejszej strony podręcznika man jest Robert Luberda <robert@debian.org>. 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.40 oryginału.2010-12-03 |