usleep(3)

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) czasomierzy systemowych.

WARTOŚĆ ZWRACANA
Funkcja usleep() w przypadku powodzenia zwraca 0. W razie wystąpienia błędu zwracane jest -1 i ustawiane errno, wskazując błąd.

BŁĘDY

EINTR
    Przerwane przez sygnał, patrz signal(7).

EINVAL
    usec jest większe lub równe 1000000 (w systemach, na 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-bezpieczne

STANDARDY
Brak.

HISTORIA
4.3BSD, POSIX.1-2001. POSIX.1-2001 uznaje ją za przestarzałą, sugerując w zamian nanosleep(2). Usunięte w POSIX.1-2008.

W oryginalnej implementacji BSD oraz przed glibc 2.2.2, 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.

ZASTRZEŻENIA
Interakcja tej funkcji z sygnałem SIGALRM oraz z innymi funkcjami czasomierza, 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
Tłumaczenie niniejszej strony podręcznika: Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

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 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.