, sigtimedwait() .
SIGINT. , SIGINT :
sigset_t sigint_set;
sigemptyset(&sigint_set);
sigaddset(&sigint_set, SIGINT);
sigprocmask(SIG_BLOCK, &sigint_set, NULL);
, SIGINT:
sigset_t sigint_set;
siginfo_t info;
const struct timespec zero_timeout = { 0, 0 };
sigemptyset(&sigint_set);
sigaddset(&sigint_set, SIGINT);
while (sigtimedwait(&sigint_set, &info, &zero_timeout) != SIGINT)
{
}