fix major breakage in pthread_once (it was always deadlocking)
[oweals/musl.git] / src / thread / pthread_create.c
index 7c436957f8e17b33c8ae8a8a9602b82cfe030690..2098e752f969ec4dab516bbb5937d372351d98b4 100644 (file)
@@ -25,6 +25,8 @@ void __pthread_unwind_next(struct __ptcb *cb)
                }
        }
 
+       syscall4(__NR_rt_sigprocmask, SIG_BLOCK, (long)(uint64_t[1]){-1},0,8);
+
        if (!a_fetch_add(&libc.threads_minus_1, -1))
                exit(0);