changes to kernel sigaction struct handling in preparation for mips port
[musl] / src / signal / raise.c
1 #include <signal.h>
2 #include <errno.h>
3 #include <stdint.h>
4 #include "syscall.h"
5
6 int raise(int sig)
7 {
8         int pid, tid, ret;
9         sigset_t set;
10         __syscall(SYS_rt_sigprocmask, SIG_BLOCK, (uint64_t[]){-1}, &set, 8);
11         tid = syscall(SYS_gettid);
12         pid = syscall(SYS_getpid);
13         ret = syscall(SYS_tgkill, pid, tid, sig);
14         __syscall(SYS_rt_sigprocmask, SIG_SETMASK, &set, 0, 8);
15         return ret;
16 }