6 static void handle_signal(int no)
14 struct sigaction sa, sa0;
16 sa.sa_handler = SIG_IGN;
17 sigemptyset(&sa.sa_mask);
18 sigaddset(&sa.sa_mask, SIGHUP);
19 sigaddset(&sa.sa_mask, SIGINT);
20 sa.sa_flags = SA_RESTART;
21 assert(!sigaction(SIGUSR2, &sa, &sa0));
23 sa.sa_handler = handle_signal;
24 sigemptyset(&sa.sa_mask);
25 sigaddset(&sa.sa_mask, SIGQUIT);
26 sigaddset(&sa.sa_mask, SIGTERM);
27 sa.sa_flags = SA_SIGINFO;
28 assert(!sigaction(SIGUSR2, &sa, &sa0));
30 sa.sa_handler = SIG_DFL;
31 sigemptyset(&sa.sa_mask);
33 assert(!sigaction(SIGUSR2, &sa, &sa0));
35 sigfillset(&sa.sa_mask);
36 sigdelset(&sa.sa_mask, SIGHUP);
37 assert(!sigaction(SIGUSR2, &sa, &sa0));