From 2c074b0d6cb2b28c5d1c0ccb2809965f4676efeb Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Fri, 26 Apr 2013 19:48:01 -0400 Subject: transition to using functions for internal signal blocking/restoring there are several reasons for this change. one is getting rid of the repetition of the syscall signature all over the place. another is sharing the constant masks without costly GOT accesses in PIC. the main motivation, however, is accurately representing whether we want to block signals that might be handled by the application, or all signals. --- src/signal/siglongjmp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/signal/siglongjmp.c') diff --git a/src/signal/siglongjmp.c b/src/signal/siglongjmp.c index bbdde796..a7bcca24 100644 --- a/src/signal/siglongjmp.c +++ b/src/signal/siglongjmp.c @@ -2,10 +2,10 @@ #include #include #include "syscall.h" +#include "pthread_impl.h" _Noreturn void siglongjmp(sigjmp_buf buf, int ret) { - if (buf->__fl) __syscall(SYS_rt_sigprocmask, SIG_SETMASK, - buf->__ss, 0, _NSIG/8); + if (buf->__fl) __restore_sigs(buf->__ss); longjmp(buf->__jb, ret); } -- cgit v1.2.1