summaryrefslogtreecommitdiff
path: root/src/signal/raise.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-04-26 19:48:01 -0400
committerRich Felker <dalias@aerifal.cx>2013-04-26 19:48:01 -0400
commit2c074b0d6cb2b28c5d1c0ccb2809965f4676efeb (patch)
tree9c56db36bf3ae26450e8374bb38f181b787ae707 /src/signal/raise.c
parentd53c92c972dab717f8f8e521eb0e9c4404cef4bd (diff)
downloadmusl-2c074b0d6cb2b28c5d1c0ccb2809965f4676efeb.tar.gz
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.
Diffstat (limited to 'src/signal/raise.c')
-rw-r--r--src/signal/raise.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/signal/raise.c b/src/signal/raise.c
index b24dc741..6fa43bef 100644
--- a/src/signal/raise.c
+++ b/src/signal/raise.c
@@ -8,10 +8,10 @@ int raise(int sig)
{
int pid, tid, ret;
sigset_t set;
- __syscall(SYS_rt_sigprocmask, SIG_BLOCK, SIGALL_SET, &set, _NSIG/8);
+ __block_app_sigs(&set);
tid = __syscall(SYS_gettid);
pid = __syscall(SYS_getpid);
ret = syscall(SYS_tgkill, pid, tid, sig);
- __syscall(SYS_rt_sigprocmask, SIG_SETMASK, &set, 0, _NSIG/8);
+ __restore_sigs(&set);
return ret;
}