call pthread_kill unconditionally in Thread::interrupt() to ensure system calls such as epoll_wait are interrupted

This commit is contained in:
Joel Dice 2009-07-23 16:17:52 -06:00
parent 3787985b25
commit cc3289d88a

View File

@ -124,9 +124,7 @@ class MySystem: public System {
r->setInterrupted(true);
if (flags & Waiting) {
pthread_kill(thread, InterruptSignal);
}
pthread_kill(thread, InterruptSignal);
}
virtual void join() {
@ -849,6 +847,7 @@ handleSignal(int signal, siginfo_t* info, void* context)
} else {
switch (signal) {
case VisitSignal:
case InterruptSignal:
break;
default: