X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fsignal%2Fraise.c;h=f0512019a1921eea797ac84252fd4fd01e3d6d7a;hb=0beb9dfbecad38af9759b1e83eeb007e28b70abb;hp=cc2b19b755df641e4e2a4b4aa30e88339efb166c;hpb=0bed7e0acfd34e3fb63ca0e4d99b7592571355a9;p=musl diff --git a/src/signal/raise.c b/src/signal/raise.c index cc2b19b7..f0512019 100644 --- a/src/signal/raise.c +++ b/src/signal/raise.c @@ -1,18 +1,13 @@ #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); + int ret = syscall(SYS_tkill, __pthread_self()->tid, sig); + __restore_sigs(&set); return ret; }