X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fsignal%2Fraise.c;h=35063c5b89c78ae37405cf299626b0fe20a38aca;hb=0d0c2f40344640a2a6942dda156509593f51db5d;hp=cc2b19b755df641e4e2a4b4aa30e88339efb166c;hpb=0bed7e0acfd34e3fb63ca0e4d99b7592571355a9;p=musl diff --git a/src/signal/raise.c b/src/signal/raise.c index cc2b19b7..35063c5b 100644 --- a/src/signal/raise.c +++ b/src/signal/raise.c @@ -1,18 +1,16 @@ #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; }