48 static sigset_t saved_sigmask;
49 static sigset_t block_sigmask;
50 static int suspending;
51 static int siginit_done;
55 static void siginit(
void)
60 sigemptyset(&block_sigmask);
61 for (sig = 1; sig < NSIG; sig++)
62 sigaddset(&block_sigmask, sig);
69 if (suspending != 0) {
71 if (sigprocmask(SIG_SETMASK, &saved_sigmask, (sigset_t *) 0) < 0)
80 if (siginit_done == 0)
82 if (suspending == 0) {
84 if (sigprocmask(SIG_BLOCK, &block_sigmask, &saved_sigmask) < 0)
100 static void gotsig(
int sig)
102 printf(
"Got signal %d\n", sig);
105 int main(
int unused_argc,
char **unused_argv)
107 signal(SIGINT, gotsig);
108 signal(SIGQUIT, gotsig);
110 printf(
"Delaying signal delivery\n");
113 printf(
"Resuming signal delivery\n");
int main(int argc, char **argv)
NORETURN msg_fatal(const char *fmt,...)