#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 |