X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fsignal%2Fsiglongjmp.c;h=b644cebb98f60b4526919a9637ed5803426e67a4;hb=571744447c23f91feb6439948f3a619aca850dfb;hp=e9a6131417de5624662c6d899f74d1d0de5c527b;hpb=2d93d6446191def352b8913e859d6104f1398c72;p=musl diff --git a/src/signal/siglongjmp.c b/src/signal/siglongjmp.c index e9a61314..b644cebb 100644 --- a/src/signal/siglongjmp.c +++ b/src/signal/siglongjmp.c @@ -1,11 +1,10 @@ #include #include -#include #include "syscall.h" +#include "pthread_impl.h" -void siglongjmp(sigjmp_buf buf, int ret) +_Noreturn void siglongjmp(sigjmp_buf buf, int ret) { - if (buf->__fl) __syscall(SYS_rt_sigprocmask, SIG_SETMASK, - buf->__ss, 0, __SYSCALL_SSLEN); - longjmp(buf->__jb, ret); + if (buf->__fl) __restore_sigs(buf->__ss); + longjmp(buf, ret); }