Я использую следующий код для установки будильника.
struct itimerval timer;
struct sigaction sa;
sa.sa_handler = handler;
sa.sa_flags = SA_RESETHAND;
timer.it_value.tv_usec = 0;
timer.it_value.tv_sec = 1;
timer.it_interval.tv_sec = 0;
timer.it_interval.tv_usec = 0;
sigaction(SIGALRM, &sa, 0);
setitimer(ITIMER_REAL, &timer, 0);
Как перезапустить таймер после того, как он вышел из функции обработчика и перешел в цикл while, показанный ниже.Нужно ли все заново инициализировать или просто вызвать setittimer?
while(pause() == -1)
{
// goes in here after handler function.. what needs to go here to restart timer?
}