overhaul pthread cancellation
[musl] / src / thread / pthread_join.c
index 5210ed4..ba7bb7d 100644 (file)
@@ -3,9 +3,7 @@
 int pthread_join(pthread_t t, void **res)
 {
        int tmp = t->tid;
-       CANCELPT_BEGIN;
-       if (tmp) __wait(&t->tid, 0, tmp, 1);
-       CANCELPT_END;
+       if (tmp) __timedwait_cp(&t->tid, tmp, 0, 0, 1);
        if (res) *res = t->result;
        if (t->map_base) munmap(t->map_base, t->map_size);
        return 0;