본문 바로가기

IT

sigactdemo2.c

#include <stdio.h>

#include <signal.h>


main()

{

int i = 5;


struct sigaction newhandler;

sigset_t sigs, prevsigs;

void inthandler();


newhandler.sa_handler = inthandler;

newhandler.sa_flags = SA_RESETHAND | SA_RESTART;


sigemptyset(&sigs);

sigaddset(&sigs, SIGINT);

sigprocmask(SIG_BLOCK, &sigs, &prevsigs);


newhandler.sa_mask = sigs;


if(sigaction(SIGINT, &newhandler, NULL) == -1)

perror("sigaction");


while (i--)

sleep(1);

sigprocmask(SIG_SETMASK, &prevsigs, NULL);

}


void inthandler(int s)

{

printf("\n");

sleep(s);

printf("\n");

}



'IT' 카테고리의 다른 글

set_ticker.c  (0) 2014.11.05
bounced1d.c  (0) 2014.11.05
sigactdemo.c  (0) 2014.11.05
sigdemo3.c  (0) 2014.11.05
20141029 시스템 프로그래밍. curses.  (0) 2014.10.29