X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fsignal%2Fraise.c;h=6fa43bef97ee1508c23e1dd1328e588ddcf68cf4;hb=9448b0513e2eec020fbca9c10412b83df5027a16;hp=cc2b19b755df641e4e2a4b4aa30e88339efb166c;hpb=0bed7e0acfd34e3fb63ca0e4d99b7592571355a9;p=musl diff --git a/src/signal/raise.c b/src/signal/raise.c index cc2b19b7..6fa43bef 100644 --- a/src/signal/raise.c +++ b/src/signal/raise.c @@ -1,18 +1,17 @@ #include #include +#include #include "syscall.h" - -int __sigprocmask(int, const sigset_t *, sigset_t *); +#include "pthread_impl.h" int raise(int sig) { int pid, tid, ret; sigset_t set; - sigfillset(&set); - __sigprocmask(SIG_BLOCK, &set, &set); - tid = syscall0(__NR_gettid); - pid = syscall0(__NR_getpid); - ret = syscall3(__NR_tgkill, pid, tid, sig); - __sigprocmask(SIG_SETMASK, &set, 0); + __block_app_sigs(&set); + tid = __syscall(SYS_gettid); + pid = __syscall(SYS_getpid); + ret = syscall(SYS_tgkill, pid, tid, sig); + __restore_sigs(&set); return ret; }