aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2005-03-04 07:48:58 +0000
committerH. Peter Anvin <hpa@zytor.com>2005-03-04 07:48:58 +0000
commitf700cd60fccdc9f72fd1e57b342bea550bb0dc7f (patch)
treedc9cc90ce04249168b7e166729e6e7fc2775f534
parent98385131f1e546f2a5f1bf259481bed39891fe81 (diff)
downloadklibc-f700cd60fccdc9f72fd1e57b342bea550bb0dc7f.tar.gz
We can't get rid of non-rt_sig*() just yetklibc-0.211
-rw-r--r--klibc/SYSCALLS.def6
-rw-r--r--klibc/sigaction.c4
-rw-r--r--klibc/sigpending.c4
-rw-r--r--klibc/sigprocmask.c4
-rw-r--r--klibc/sigsuspend.c4
5 files changed, 22 insertions, 0 deletions
diff --git a/klibc/SYSCALLS.def b/klibc/SYSCALLS.def
index 2814c3b2205f8..e8b9a7f176670 100644
--- a/klibc/SYSCALLS.def
+++ b/klibc/SYSCALLS.def
@@ -146,6 +146,12 @@ ssize_t pwrite64,pwrite::pwrite(int, void *, size_t, off_t)
; Signal operations
;
int kill(pid_t, int)
+; We really should get rid of the non-rt_* of these, but that takes
+; sanitizing <signal.h> for all architectures, sigh...
+<?> int sigaction(int, const struct sigaction *, struct sigaction *)
+<?> int sigsuspend(const sigset_t *)
+<?> int sigpending(sigset_t *)
+<?> int sigprocmask(int, const sigset_t *, sigset_t *)
int rt_sigaction(int, const struct sigaction *, struct sigaction *, size_t)
int rt_sigsuspend(const sigset_t *, size_t)
int rt_sigpending(sigset_t *, size_t)
diff --git a/klibc/sigaction.c b/klibc/sigaction.c
index b96ae622d0745..819ffd4fe82ef 100644
--- a/klibc/sigaction.c
+++ b/klibc/sigaction.c
@@ -5,7 +5,11 @@
#include <signal.h>
#include <sys/syscall.h>
+#ifndef __NR_sigaction
+
int sigaction(int sig, const struct sigaction *act, struct sigaction *oact)
{
return rt_sigaction(sig, act, oact, sizeof(sigset_t));
}
+
+#endif
diff --git a/klibc/sigpending.c b/klibc/sigpending.c
index 491d9ac988611..76d2b1a7f6c93 100644
--- a/klibc/sigpending.c
+++ b/klibc/sigpending.c
@@ -5,7 +5,11 @@
#include <signal.h>
#include <sys/syscall.h>
+#ifndef __NR_sigpending
+
int sigpending(sigset_t *set)
{
return rt_sigpending(set, sizeof(sigset_t));
}
+
+#endif
diff --git a/klibc/sigprocmask.c b/klibc/sigprocmask.c
index 8dd77d4d0ace4..b5e58b28b8489 100644
--- a/klibc/sigprocmask.c
+++ b/klibc/sigprocmask.c
@@ -5,7 +5,11 @@
#include <signal.h>
#include <sys/syscall.h>
+#ifndef __NR_sigprocmask
+
int sigprocmask(int how, const sigset_t *set, sigset_t *oset)
{
return rt_sigprocmask(how, set, oset, sizeof(sigset_t));
}
+
+#endif
diff --git a/klibc/sigsuspend.c b/klibc/sigsuspend.c
index 905cd00221b9c..a927999ae68ac 100644
--- a/klibc/sigsuspend.c
+++ b/klibc/sigsuspend.c
@@ -5,7 +5,11 @@
#include <signal.h>
#include <sys/syscall.h>
+#ifndef __NR_sigsuspend
+
int sigsuspend(const sigset_t *mask)
{
return rt_sigsuspend(mask, sizeof *mask);
}
+
+#endif