Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
5
Добавлен:
26.05.2014
Размер:
992 б
Скачать
#include <stdio.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

static int nsig = 0;

void (*nsignal(int signo, void (*hndlr) (int))) (int)
  //----------------//
 //nadezhniy signal//
//----------------//
{
struct sigaction act, oact;
act.sa_handler = hndlr;
sigemptyset(&act.sa_mask);
if (signo != SIGALRM)
	act.sa_flags |= SA_RESTART;
if (sigaction(signo, &act, &oact) < 0) return (SIG_ERR);
return(oact.sa_handler);
}

static void  sig_hndlr(int SigNo)
  //-------------------//
 //obrabotchic signala//
//-------------------//
{
nsignal(SIGINT, sig_hndlr);
printf("SIGINT recieved (%d/3)\n",++nsig);
//ustanovka dispozicii
nsignal(SIGINT, sig_hndlr);
nsignal(SIGUSR1, SIG_DFL);
nsignal(SIGUSR2, SIG_IGN);
if (nsig >= 3)
	exit(0);
	
}

main()
  //----//
 //Main//
//----//
{
printf("lAb ь3 (aka Nadezhnie Signaly)\n bY Gorden AKAMa aka AKM aka 
Eugene Makarov (VI-2-01) 
Press 3x'Ctrl+C':\n");
nsignal(SIGINT, sig_hndlr);
while (1)
	sleep(100);
}
Соседние файлы в папке 3
  • #
    26.05.2014238 б53.c
  • #
    26.05.2014992 б53akm.c
  • #
    26.05.2014993 б63akm.c.save
  • #
    26.05.201411.51 Кб5a.out
  • #
    26.05.201410.68 Кб5test
  • #
    26.05.201458 б5test.c