alarm, ualarm - Sets or changes the timeout of interval timers.
Standard C Library (libc.so, libc.a)
unsigned int alarm(
unsigned int seconds);
Interfaces documented on this reference page conform to industry standards as follows:
alarm(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about industry standards and associated tags.
Specifies a number of real-time seconds. Specifies a number of real-time microseconds. Specifies the interval for repeating the timer.
The alarm() function is used to obtain notification of a timeout after the number of real-time seconds specified by the seconds parameter has elapsed. At some time after seconds seconds have elapsed, a signal is delivered to the process. Each call resets the timer to the new value. A value of 0 (zero) disables the timer. When the notification signal is caught or ignored, no action takes place; otherwise the calling process is terminated. The alarm() function uses the ITIMER_REAL interval timer.
The ualarm() function is used to obtain notification of a timeout after the number of real-time microseconds specified by the useconds parameter has elapsed. When the interval parameter is nonzero, timeout notification occurs after the number of microseconds specified by the interval parameter has been added to the useconds parameter. When the notification signal is caught or ignored, no action takes place; otherwise the calling process is terminated. The ualarm() function is the simplified interface to the setitimer() function, and uses the ITIMER_REAL interval timer.
The alarm() and ualarm() functions are supported for multithreaded applications.
Although the alarm() and ualarm() functions are reentrant, it should be noted that just as the second of two calls from a single thread to alarm() resets the timer, this is also true if two calls are made from different threads.
If there is a previous alarm() request with time remaining, the alarm() function 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 (zero).
The ualarm() function returns the number of microseconds remaining from the previous ualarm() call. If no timeouts are pending or if ualarm() has not previously been called, ualarm() returns 0 (zero).
The alarm() function sets errno to the specified values for the following conditions:
[Digital] The seconds parameter specifies a value greater than 100,000,000.
Standards: standards(5) delim off