summaryrefslogtreecommitdiff
path: root/src/signal
diff options
context:
space:
mode:
Diffstat (limited to 'src/signal')
-rw-r--r--src/signal/raise.c5
-rw-r--r--src/signal/siglongjmp.c4
-rw-r--r--src/signal/sigpending.c2
-rw-r--r--src/signal/sigsuspend.c2
-rw-r--r--src/signal/sigtimedwait.c3
5 files changed, 9 insertions, 7 deletions
diff --git a/src/signal/raise.c b/src/signal/raise.c
index 71e0505b..c0814fad 100644
--- a/src/signal/raise.c
+++ b/src/signal/raise.c
@@ -2,15 +2,16 @@
#include <errno.h>
#include <stdint.h>
#include "syscall.h"
+#include "pthread_impl.h"
int raise(int sig)
{
int pid, tid, ret;
sigset_t set;
- __syscall(SYS_rt_sigprocmask, SIG_BLOCK, (uint64_t[]){-1}, &set, 8);
+ __syscall(SYS_rt_sigprocmask, SIG_BLOCK, SIGALL_SET, &set, __SYSCALL_SSLEN);
tid = syscall(SYS_gettid);
pid = syscall(SYS_getpid);
ret = syscall(SYS_tgkill, pid, tid, sig);
- __syscall(SYS_rt_sigprocmask, SIG_SETMASK, &set, 0, 8);
+ __syscall(SYS_rt_sigprocmask, SIG_SETMASK, &set, 0, __SYSCALL_SSLEN);
return ret;
}
diff --git a/src/signal/siglongjmp.c b/src/signal/siglongjmp.c
index 9b4a5398..e9a61314 100644
--- a/src/signal/siglongjmp.c
+++ b/src/signal/siglongjmp.c
@@ -5,7 +5,7 @@
void siglongjmp(sigjmp_buf buf, int ret)
{
- if (buf->__fl)
- __syscall(SYS_rt_sigprocmask, SIG_SETMASK, buf->__ss, 0, 8);
+ if (buf->__fl) __syscall(SYS_rt_sigprocmask, SIG_SETMASK,
+ buf->__ss, 0, __SYSCALL_SSLEN);
longjmp(buf->__jb, ret);
}
diff --git a/src/signal/sigpending.c b/src/signal/sigpending.c
index f6b8972e..46ce3036 100644
--- a/src/signal/sigpending.c
+++ b/src/signal/sigpending.c
@@ -3,5 +3,5 @@
int sigpending(sigset_t *set)
{
- return syscall(SYS_rt_sigpending, set, 8);
+ return syscall(SYS_rt_sigpending, set, __SYSCALL_SSLEN);
}
diff --git a/src/signal/sigsuspend.c b/src/signal/sigsuspend.c
index cd3a7b59..bdfaeee0 100644
--- a/src/signal/sigsuspend.c
+++ b/src/signal/sigsuspend.c
@@ -4,5 +4,5 @@
int sigsuspend(const sigset_t *mask)
{
- return syscall_cp(SYS_rt_sigsuspend, mask, 8);
+ return syscall_cp(SYS_rt_sigsuspend, mask, __SYSCALL_SSLEN);
}
diff --git a/src/signal/sigtimedwait.c b/src/signal/sigtimedwait.c
index 7eea58ab..f62db2f3 100644
--- a/src/signal/sigtimedwait.c
+++ b/src/signal/sigtimedwait.c
@@ -6,7 +6,8 @@
int sigtimedwait(const sigset_t *mask, siginfo_t *si, const struct timespec *timeout)
{
int ret;
- do ret = syscall_cp(SYS_rt_sigtimedwait, mask, si, timeout, 8);
+ do ret = syscall_cp(SYS_rt_sigtimedwait, mask,
+ si, timeout, __SYSCALL_SSLEN);
while (ret<0 && errno==EINTR);
return ret;
}