ALARM(2)

ИМЯ
alarm - установка будильника для доставки сигнала

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

unsigned int alarm(unsigned int seconds);

ОПИСАНИЕ
Системный вызов alarm() размещает сигнал SIGALRM для доставки вызывающему процессу через seconds секунд. Если значение seconds равно 0, то любой ожидающий будильник будет отменён. При любом событии ранее запланированный alarm() отменяется.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
alarm() возвращает количество секунд, оставшихся до момента доставки сигнала, запланированного ранее, или ноль, если сигнал не запланирован.

СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

ЗАМЕЧАНИЯ
alarm() и setitimer(2) используют один и тот же таймер; они будут мешать работе друг друга. Будильники, созданные alarm(), сохраняются при выполнении execve(2) и не наследуются потомками, созданными с помощью fork(2).

sleep(3) может быть реализован через SIGALRM, поэтому лучше не использовать alarm() и sleep(3) одновременно. Постановка сигнала в очередь может вызывать задержу выполнения вызвавшего процесса на произвольное время.

СМОТРИТЕ ТАКЖЕ
gettimeofday(2), pause(2), select(2), setitimer(2), sigaction(2), signal(2), sleep(3), time(7)