static volatile sig_atomic_t sigreceived = 0; while (sigreceived == 0) pause();
static volatile sig_atomic_t sigreceived = 0; int signum; sigset_t sigset; sigemptyset (&sigset); sigaddset (&sigset, signum); sigprocmask (SIGBLOCK, &sigset, NULL); while (sigreceived == 0) pause();