omit pthread tsd dtor code if tsd is not used
[musl] / src / thread / pthread_cancel.c
index 9397ffe..c497dbe 100644 (file)
@@ -1,7 +1,7 @@
-#define SYSCALL_RETURN_ERRNO
 #include "pthread_impl.h"
 
 int pthread_cancel(pthread_t t)
 {
-       return syscall3(__NR_tgkill, t->pid, t->tid, SIGCANCEL);
+       a_store(&t->cancel, 1);
+       return pthread_kill(t, SIGCANCEL);
 }