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); r->setInterrupted(true);
if (flags & Waiting) { pthread_kill(thread, InterruptSignal);
pthread_kill(thread, InterruptSignal);
}
} }
virtual void join() { virtual void join() {
@ -849,6 +847,7 @@ handleSignal(int signal, siginfo_t* info, void* context)
} else { } else {
switch (signal) { switch (signal) {
case VisitSignal: case VisitSignal:
case InterruptSignal:
break; break;
default: default: