X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fsignal%2Fsiglongjmp.c;h=2974ff7fc49f9067139db95c72c99f5859121b19;hb=b5e409df70ff83f45b0e6f460b07e791c8d51c76;hp=9b4a5398cc72add3efbb36b60f7590aa22ce51b3;hpb=d6c0efe106b1016108207fb6872820c06dcef4f8;p=musl diff --git a/src/signal/siglongjmp.c b/src/signal/siglongjmp.c index 9b4a5398..2974ff7f 100644 --- a/src/signal/siglongjmp.c +++ b/src/signal/siglongjmp.c @@ -2,10 +2,10 @@ #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, 8); - longjmp(buf->__jb, ret); + if (buf->__fl) __restore_sigs(buf->__ss); + longjmp(buf, ret); }