I did something wrong in my code, where an other process send a SIGUSR2 signal to it:
sigset_t sigset;
sigemptyset(&sigset);
sigaddset(&sigset, SIGILL);
sigaddset(&sigset, SIGUSR2);
sigwait(&sigset, &received);
XCode notices SIGUSER2(31) signal received, but received = SIGILL(4) (or the minimal signal in the set).
Why is that so? Where I am wrong?
Now, it looks like this:
sigset_t sigset;
sigemptyset(&sigset);
sigaddset(&sigset, SIGILL);
sigaddset(&sigset, SIGUSR2);
sigprocmask(SIG_BLOCK, &sigset, 0);
sigwait(&sigset, &received);
if(received == SIGUSR2) {
//...
} else if(received == SIGILL) {
//...
}
Still not working.