useconds_t ualarm(useconds_t useconds, useconds_t interval);
The ualarm() function causes the SIGALRM signal to be generated for the calling process after the number of real-time microseconds specified by the useconds argument has elapsed. When the interval argument is non-zero, repeated timeout notification occurs with a period in microseconds specified by the interval argument. If the notification signal, SIGALRM, is not caught or ignored, the calling process is terminated.
Because of scheduling delays, resumption of execution when the signal is caught may be delayed an arbitrary amount of time.
Interactions between ualarm() and either alarm(2) or sleep(3C) are unspecified.
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.
No errors are defined.
The ualarm() function is a simplified interface to setitimer(2), and uses the ITIMER_REAL interval timer.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
alarm(2), setitimer(2), sighold(3C), signal(3C), sleep(3C), usleep(3C), attributes(5), standards(5)