#include #include #include #include #include static void handler(int signo) { } int main(int argc, char *argv[]) { sigset_t mask, oldmask; struct sigaction sa; memset(&sa, 0, sizeof(sa)); sa.sa_handler = handler; if (sigaction(SIGINT, &sa, NULL) == -1) err(1, "sigaction"); sigemptyset(&mask); sigaddset(&mask, SIGINT); sigprocmask(SIG_BLOCK, &mask, &oldmask); while (sigsuspend(&oldmask)) printf("got signal errno %d\n", errno); return (0); }