The
alarm() function sets a timer to deliver the signal
SIGALRM to the calling process
seconds after the call to
alarm(). If an alarm has already been set with
alarm() but has not been delivered, another call to
alarm() will supersede the prior call. The request
alarm(
0) voids the current alarm and the signal SIGALRM will not be delivered. The maximum number of
seconds allowed is 2147483647.
The return value of
alarm() is the amount of time left on the timer from a previous call to
alarm(). If no alarm is currently set, the return value is 0. If there is an error setting the timer,
alarm() returns ((unsigned int) -1).