usleep - zawiesza wykonanie na czas wyrażony w mikrosekundach
Standardowa biblioteka C (
libc,
-lc)
#include <unistd.h>
int usleep(useconds_t usec);
usleep():
Od glibc 2.12:
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
|| /* glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE
Przed glibc 2.12:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
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.
The
usleep() function returns 0 on success. On error, -1 is returned,
with
errno set to indicate the error.
- 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).
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 |
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().
On the original BSD implementation, and before glibc 2.2.2, the return type of
this function is
void. The POSIX version returns
int, and this
is also the prototype used since glibc 2.2.2.
SUSv2 i POSIX.1-2001 dokumentują tylko błąd
EINVAL.
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.
alarm(2),
getitimer(2),
nanosleep(2),
select(2),
setitimer(2),
sleep(3),
ualarm(3),
useconds_t(3type),
time(7)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Robert Luberda <
[email protected]> i Michał
Kułach <
[email protected]>
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
[email protected]