Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       ualarm - планирует отправку сигнала через заданное число микросекунд

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <unistd.h>

       useconds_t ualarm(useconds_t usecs, useconds_t interval);

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

       ualarm():
           Since glibc 2.12:
               (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
                   || /* glibc >= 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE
           Before glibc 2.12:
               _BSD_SOURCE || _XOPEN_SOURCE >= 500

ОПИСАНИЕ

       Функция  ualarm()  планирует  отправку сигнала SIGALRM вызывающему процессу (не менее чем)
       через usecs микросекунд. Задержка может  быть  слегка  больше  при  большой  загруженности
       системы,  из-за,  собственно,  времени  обработки  этого  вызова или из-за неточности хода
       системных часов.

       Если сигнал не будет пойман или проигнорирован, то SIGALRM уничтожит процесс.

       Если аргумент interval не равен нулю,  то  сигналы  SIGALRM  будут  отправляться  повторно
       каждые interval микросекунд после первого.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Эта  функция  возвращает  число  микросекунд,  оставшихся  от  любого ранее установленного
       сигнала, или 0, если сигналов не запланировано.

ОШИБКИ

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

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

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌───────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ИнтерфейсАтрибутЗначение │
       ├───────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ualarm()                                               │ Безвредность в нитях │ MT-Safe  │
       └───────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       4.3BSD,   POSIX.1-2001.  В  POSIX.1-2001  функция  ualarm()  помечена  как  устаревшая.  В
       POSIX.1-2008 описание ualarm() было удалено. В 4.3BSD, SUSv2 и POSIX нет описания ошибок.

ЗАМЕЧАНИЯ

       В POSIX.1-2001 не указано, что  случится,  если  значение  usecs  равно  0.  В  Linux  (и,
       вероятно, в большинстве систем) произойдёт отмена любого взведённого будильника.

       The  type  useconds_t is an unsigned integer type capable of holding integers in the range
       [0,1000000].  On the original BSD implementation, and  in  glibc  before  glibc  2.1,  the
       arguments to ualarm()  were instead typed as unsigned int.  Programs will be more portable
       if they never mention useconds_t explicitly.

       Взаимодействие этой функции с другими функциями таймера, такими  как  alarm(2),  sleep(3),
       nanosleep(2),   setitimer(2),   timer_create(2),   timer_delete(2),   timer_getoverrun(2),
       timer_gettime(2), timer_settime(2), usleep(3) не определено.

       Эта функция устарела. Используйте вместо неё setitimer(2) или интервальные  таймеры  POSIX
       (timer_create(2) и т.д.).

СМ. ТАКЖЕ

       alarm(2), getitimer(2), nanosleep(2), select(2), setitimer(2), usleep(3), 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>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.