projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
math: use double_t for temporaries to avoid stores on i386
[musl]
/
src
/
signal
/
raise.c
diff --git
a/src/signal/raise.c
b/src/signal/raise.c
index
71e0505
..
6fa43be
100644
(file)
--- a/
src/signal/raise.c
+++ b/
src/signal/raise.c
@@
-2,15
+2,16
@@
#include <errno.h>
#include <stdint.h>
#include "syscall.h"
#include <errno.h>
#include <stdint.h>
#include "syscall.h"
+#include "pthread_impl.h"
int raise(int sig)
{
int pid, tid, ret;
sigset_t set;
int raise(int sig)
{
int pid, tid, ret;
sigset_t set;
- __
syscall(SYS_rt_sigprocmask, SIG_BLOCK, (uint64_t[]){-1}, &set, 8
);
- tid = syscall(SYS_gettid);
- pid = syscall(SYS_getpid);
+ __
block_app_sigs(&set
);
+ tid =
__
syscall(SYS_gettid);
+ pid =
__
syscall(SYS_getpid);
ret = syscall(SYS_tgkill, pid, tid, sig);
ret = syscall(SYS_tgkill, pid, tid, sig);
- __
syscall(SYS_rt_sigprocmask, SIG_SETMASK, &set, 0, 8
);
+ __
restore_sigs(&set
);
return ret;
}
return ret;
}