Скачиваний:
29
Добавлен:
01.05.2014
Размер:
962 б
Скачать
 	//#include <iostream.h>
	#include <stdio.h>
	#include <unistd.h>
	#include <signal.h>

	void callme() 
	{ 
			//cout << "catch signal" << endl; 
			printf("PREVED!!!\n");
	}
	void callme2() 
	{ 
			//cout << "catch signal" << endl; 
			printf("Author is Sergeev\n");
	}
	void callme3() 
	{ 
			//cout << "catch signal" << endl; 
			printf("catch signal\n");
	}
	void callme4() 
	{ 
			//cout << "catch signal" << endl; 
			printf("BYE BYE!!!\n");
	}

	int main() 
	{
			sigset_t  sigmask;
			struct sigaction  action, old_action;
			sigemptyset(&sigmask);
			if (sigaddset( &sigmask, SIGTERM)==-1 || 
					sigprocmask(SIG_SETMASK, &sigmask, 0)==-1)
				perror("set signal mask");
			sigemptyset(&action.sa_mask);
			sigaddset(&action.sa_mask,SIGSEGV);
			action.sa_handler = callme;
			action.sa_flags = 0;
			if (sigaction(SIGILL,&action,&old_action)==-1) 
				perror( "sigaction");
			while (1)
			pause();	/* wait for signal interruption */
			return 0;
	}
Соседние файлы в папке lab1