alarm - set a process's alarm clock
unsigned int alarm(unsigned int sec);
alarm() instructs the alarm clock of the calling process to send the
signal SIGALRM to the calling process after the number of real-time
seconds specified by sec have elapsed; see signal(5). Specific
implementations might place limitations on the maximum supported alarm
time. The constant MAX_ALARM defined in <sys/param.h> specifies the
implementation-specific maximum. Whenever sec is greater that this
maximum, it is silently rounded down to it. On all implementations,
MAX_ALARM is guaranteed to be at least 31 days (in seconds).
Alarm requests are not stacked; successive calls reset the alarm clock
of the calling process.
If sec is 0, any previously made alarm request is canceled.
Alarms are not inherited by a child process across a fork(), but are
inherited across an exec().
On systems that support the getitimer() and setitimer() system calls,
the timer mechanism used by alarm() is the same as that used by
ITIMER_REAL. Thus successive calls to alarm(), getitimer(), and
setitimer() set and return the state of a single timer. In addition,
alarm() sets the timer interval to zero.
alarm() returns the amount of time previously remaining in the alarm
clock of the calling process.
In some implementations, error bounds for alarm are -1, +0 seconds
(for the posting of the alarm, not the restart of the process). Thus
a delay of 1 second can return immediately. The setitimer() routine
can be used to create a more precise delay.
sleep(1), exec(2), getitimer(2), pause(2), signal(5), sleep(3C).
alarm(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000