fix pthread_detach inadvertently acting as cancellation point in race case
[musl] / src / thread / pthread_setcancelstate.c
index 2268217..5ab8c33 100644 (file)
@@ -2,8 +2,7 @@
 
 int __pthread_setcancelstate(int new, int *old)
 {
-       if (new > 1U) return EINVAL;
-       if (!libc.has_thread_pointer) return ENOSYS;
+       if (new > 2U) return EINVAL;
        struct pthread *self = __pthread_self();
        if (old) *old = self->canceldisable;
        self->canceldisable = new;