usleep(3)

НАИМЕНОВАНИЕ
usleep - задерживает выполнение на определенное количество микросекунд

БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)

ОБЗОР
#include <unistd.h>

int usleep(useconds_t usec);

    Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

usleep():
    Начиная с glibc 2.12:
        (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
            || /* glibc >= 2.19: */ _DEFAULT_SOURCE
            || /* glibc <= 2.19: */ _BSD_SOURCE
    До glibc 2.12:
        _BSD_SOURCE || _XOPEN_SOURCE >= 500

ОПИСАНИЕ
Функция usleep() приостанавливает выполнение вызвавшей нити на (не менее) usec микросекунд. Остановка может продлиться слегка больше при большой загруженности системы, из-за, собственно, времени обработки этого вызова или из-за неточности хода системных часов.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
The usleep() function returns 0 on success. On error, -1 is returned, with errno set to indicate the error.

ОШИБКИ

EINTR
    Прервано сигналом; см. signal(7).

EINVAL
    Значение usec больше или равно 1000000 (в тех системах, где это считается ошибкой).

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
usleep() | Безвредность в нитях | MT-Safe

СТАНДАРТЫ
Отсутствуют.

ИСТОРИЯ
4.3BSD, POSIX.1-2001. POSIX.1-2001 declares it obsolete, suggesting nanosleep(2) instead. Removed in POSIX.1-2008.

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.

Возвращаемая ошибка EINVAL определена только в SUSv2 и POSIX.1-2001.

CAVEATS
Взаимодействие этой функции с сигналом SIGALRM и другими функциями таймера, такими как 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), не определено.

СМОТРИТЕ ТАКЖЕ
alarm(2), getitimer(2), nanosleep(2), select(2), setitimer(2), sleep(3), ualarm(3), useconds_t(3type), time(7)

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy Ovchinnikov <dmitriyxt5@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (<debian-l10n-russian@lists.debian.org>).