Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
01.05.2014
Размер:
875 б
Скачать
	#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;
	}
Соседние файлы в папке ch9