alarm - schedule an alarm signal
unsigned int alarm(unsigned int sec);
The alarm() function causes the system to generate a SIGALRM
signal for the process after the number of real-time seconds
specified by seconds have elapsed (see signal(3HEAD)).
Processor scheduling delays may prevent the process from
handling the signal as soon as it is generated.
If seconds is 0, a pending alarm request, if any, is can-
Alarm requests are not stacked; only one SIGALRM generation
can be scheduled in this manner; if the SIGALRM signal has
not yet been generated, the call will result in rescheduling
the time at which the SIGALRM signal will be generated.
The fork(2) function clears pending alarms in the child pro-
cess. A new process image created by one of the exec func-
tions inherits the time left to an alarm signal in the old
If there is a previous alarm request with time remaining,
alarm() returns a non-zero value that is the number of
seconds until the previous request would have generated a
SIGALRM signal. Otherwise, alarm() returns 0.
The alarm() function is always successful; no return value
is reserved to indicate an error.
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | Async-Signal-Safe |
exec(2), fork(2), signal(3HEAD), attributes(5), standards(5)
Man(1) output converted with