Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Тестовые примеры / ch9 / timer2
.C #include <stdio.h>
#include <unistd.h>
#include <sys/time.h>
#include <signal.h>
#define INTERVAL 2
void callme( int sig_no )
{
/* do some schedule tasks */
}
int main()
{
struct itimerval val;
struct sigaction action;
sigemptyset(&action.sa_mask);
#ifdef SOLARIS_25
action.sa_handler = (void (*)(int))callme;
#else
action.sa_handler = (void (*)())callme;
#endif
action.sa_flags = SA_RESTART;
if (sigaction(SIGALRM,&action,0)==-1)
{
perror( "sigaction");
return 1;
}
val.it_interval.tv_sec = INTERVAL;
val.it_interval.tv_usec = 0;
val.it_value.tv_sec = INTERVAL;
val.it_value.tv_usec = 0;
if (setitimer( ITIMER_REAL, &val, 0 ) == -1)
perror("alarm" );
else while( 1 )
{
/* do normal operation */
}
return 0;
}