X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fsignal%2Fsigsetjmp.c;h=01ba0dffeddf4f7502c4db31fc251f1bdb00226a;hb=6a4cfbdbe718a115a22629ad0cb2ae21391a0454;hp=a6667a27964f39a321cc1ba78b2923e3d24d47b5;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01;p=musl diff --git a/src/signal/sigsetjmp.c b/src/signal/sigsetjmp.c index a6667a27..01ba0dff 100644 --- a/src/signal/sigsetjmp.c +++ b/src/signal/sigsetjmp.c @@ -9,9 +9,7 @@ int sigsetjmp(sigjmp_buf buf, int save) { - long *flag = buf + sizeof(jmp_buf)/sizeof(long); - sigset_t *mask = (void *)(flag + 1); - if ((*flag = save)) - sigprocmask (SIG_SETMASK, NULL, mask); - return setjmp((void *)buf); + if ((buf->__fl = save)) + pthread_sigmask(SIG_SETMASK, 0, (sigset_t *)buf->__ss); + return setjmp(buf->__jb); }