table of contents
- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
ualarm(3) | Library Functions Manual | ualarm(3) |
ИМЯ¶
ualarm - планирует отправку сигнала через заданное число микросекунд
БИБЛИОТЕКА¶
Стандартная библиотека языка C (libc, -lc)
СИНТАКСИС¶
#include <unistd.h>
useconds_t ualarm(useconds_t usecs, useconds_t interval);
ualarm():
Начиная с 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
ОПИСАНИЕ¶
Функция ualarm() планирует отправку сигнала SIGALRM вызывающему процессу (не менее чем) через usecs микросекунд. Задержка может быть слегка больше при большой загруженности системы, из-за, собственно, времени обработки этого вызова или из-за неточности хода системных часов.
Если сигнал не будет пойман или проигнорирован, то SIGALRM уничтожит процесс.
Если аргумент interval не равен нулю, то сигналы SIGALRM будут отправляться повторно каждые interval микросекунд после первого.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
Эта функция возвращает число микросекунд, оставшихся от любого ранее установленного сигнала, или 0, если сигналов не запланировано.
ОШИБКИ¶
АТРИБУТЫ¶
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
ualarm() | Безвредность в нитях | MT-Safe |
СТАНДАРТЫ¶
None.
ИСТОРИЯ¶
4.3BSD, POSIX.1-2001. POSIX.1-2001 marks it as obsolete. Removed in POSIX.1-2008.
4.3BSD, SUSv2, and POSIX do not define any errors.
В 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 (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
2 мая 2024 г. | Справочные страницы Linux 6.8 |