use a_swap rather than old name a_xchg
[oweals/musl.git] / src / thread / pthread_join.c
index ba7bb7d54be15ca9ad911af060e2dd75f258abc1..86191f252dda86cc398a57303a482afbcb5a7ddd 100644 (file)
@@ -1,9 +1,13 @@
 #include "pthread_impl.h"
 
+static void dummy(void *p)
+{
+}
+
 int pthread_join(pthread_t t, void **res)
 {
-       int tmp = t->tid;
-       if (tmp) __timedwait_cp(&t->tid, tmp, 0, 0, 1);
+       int tmp;
+       while ((tmp = t->tid)) __timedwait(&t->tid, tmp, 0, 0, dummy, 0, 0);
        if (res) *res = t->result;
        if (t->map_base) munmap(t->map_base, t->map_size);
        return 0;