X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fsignal%2Fsiglongjmp.c;h=bc317acce93176a939f6de518cbe67d81284bdfd;hb=3fe595de83e398dbc3cdbe303cacaf8485c9ae08;hp=600d560c875c48d5b070d06a2e3f188765ddea67;hpb=338b663ddb64ecf8a62ad0d1020a29587e0ca81b;p=musl diff --git a/src/signal/siglongjmp.c b/src/signal/siglongjmp.c index 600d560c..bc317acc 100644 --- a/src/signal/siglongjmp.c +++ b/src/signal/siglongjmp.c @@ -1,12 +1,9 @@ #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) { - unsigned long *flag = buf + sizeof(jmp_buf)/sizeof(long) - 1; - sigset_t *mask = (void *)(flag + 1); - if (*flag) - sigprocmask (SIG_SETMASK, mask, NULL); - longjmp((void *)buf, ret); + longjmp(buf, ret); }