use pthread_sigmask instead of sigprocmask to unblock signals

Apparently, the behavior of the latter is undefined in multithreaded
processes.
This commit is contained in:
Joel Dice 2011-02-25 08:13:25 -07:00
parent cd3d1800c4
commit f1255c8fd8

View File

@ -924,10 +924,9 @@ handleSignal(int signal, siginfo_t* info, void* context)
// supposed to work.
sigset_t set;
sigemptyset(&set);
sigaddset(&set, signal);
sigprocmask(SIG_UNBLOCK, &set, 0);
pthread_sigmask(SIG_UNBLOCK, &set, 0);
vmJump(ip, frame, stack, thread, 0, 0);
}