X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2F__rsyscall.c;fp=src%2Fthread%2F__rsyscall.c;h=e885d9e7ac4fe0b640739bc12b384caa013dcdd7;hb=99b8a25e941e54537bf39ca2f265c345f393f112;hp=61d41df76b4b3466a549be50b27789ee829bbbed;hpb=77f15d108ee021d4dfbeebe793661131c4470d4d;p=musl diff --git a/src/thread/__rsyscall.c b/src/thread/__rsyscall.c index 61d41df7..e885d9e7 100644 --- a/src/thread/__rsyscall.c +++ b/src/thread/__rsyscall.c @@ -56,8 +56,7 @@ int __rsyscall(int nr, long a, long b, long c, long d, long e, long f) while ((i=rs.blocks)) __wait(&rs.blocks, 0, i, 1); - sigfillset(&set); - __libc_sigprocmask(SIG_BLOCK, &set, &set); + __syscall(SYS_rt_sigprocmask, SIG_BLOCK, (uint64_t[]){-1}, &set, 8); if (!rs.init) { struct sigaction sa = { @@ -88,7 +87,7 @@ int __rsyscall(int nr, long a, long b, long c, long d, long e, long f) } /* Handle any lingering signals with no-op */ - __libc_sigprocmask(SIG_UNBLOCK, &set, &set); + __syscall(SYS_rt_sigprocmask, SIG_SETMASK, &set, &set, 8); /* Resume other threads' signal handlers and wait for them */ rs.hold = 0;