NAZWA

usleep - zawiesza wykonanie na czas wyrażony w mikrosekundach

BIBLIOTEKA

Standardowa biblioteka C ( libc, -lc)

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 >= 2.19: */ _DEFAULT_SOURCE
            || /* glibc <= 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

The usleep() function returns 0 on success. On error, -1 is returned, with errno set to indicate the error.

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).
Interfejs Atrybut Wartość
usleep() Bezpieczeństwo wątkowe MT-Safe
 

STANDARDY

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.

UWAGI

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), useconds_t(3type), time(7)

TŁUMACZENIE

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]