avoid using signals when a thread attempts to cancel itself
not only is pthread_kill expensive in this case; it also breaks testing under qemu app-level emulation.
This commit is contained in:
@@ -92,5 +92,6 @@ int pthread_cancel(pthread_t t)
|
||||
init = 1;
|
||||
}
|
||||
a_store(&t->cancel, 1);
|
||||
if (t == pthread_self() && !t->cancelasync) return 0;
|
||||
return pthread_kill(t, SIGCANCEL);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user