aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2002-08-16 23:13:12 +0000
committerH. Peter Anvin <hpa@zytor.com>2002-08-16 23:13:12 +0000
commit0f7a5dd944c885114b539805c97e325cbbea9b6b (patch)
treec12c39c7f4ff7fe98563c024862ee4948d13b6f0
parent23705b823838ac7191269eb49147d6f0c472340d (diff)
downloadklibc-0f7a5dd944c885114b539805c97e325cbbea9b6b.tar.gz
Don't use rt_sig*() calls on architectures which have the standardklibc-0.43
system calls.
-rw-r--r--abort.c2
-rw-r--r--klibc/abort.c2
-rw-r--r--klibc/sigpending.c9
-rw-r--r--klibc/sigprocmask.c9
-rw-r--r--klibc/sigsuspend.c9
-rw-r--r--sigpending.c9
-rw-r--r--sigprocmask.c9
-rw-r--r--sigsuspend.c9
8 files changed, 56 insertions, 2 deletions
diff --git a/abort.c b/abort.c
index 16557edf41c9f..9280d9861bed3 100644
--- a/abort.c
+++ b/abort.c
@@ -12,7 +12,7 @@ void abort(void)
sigemptyset(&set);
sigaddset(&set, SIGABRT);
- rt_sigprocmask(SIG_UNBLOCK, &set, NULL, sizeof set);
+ sigprocmask(SIG_UNBLOCK, &set, NULL);
raise(SIGABRT);
_exit(255); /* raise() should have killed us */
}
diff --git a/klibc/abort.c b/klibc/abort.c
index 16557edf41c9f..9280d9861bed3 100644
--- a/klibc/abort.c
+++ b/klibc/abort.c
@@ -12,7 +12,7 @@ void abort(void)
sigemptyset(&set);
sigaddset(&set, SIGABRT);
- rt_sigprocmask(SIG_UNBLOCK, &set, NULL, sizeof set);
+ sigprocmask(SIG_UNBLOCK, &set, NULL);
raise(SIGABRT);
_exit(255); /* raise() should have killed us */
}
diff --git a/klibc/sigpending.c b/klibc/sigpending.c
index 8f9241a000b77..afbcf3cf34145 100644
--- a/klibc/sigpending.c
+++ b/klibc/sigpending.c
@@ -3,8 +3,17 @@
*/
#include <signal.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_sigpending
+
+_syscall1(int,sigpending,sigset_t *,set);
+
+#else
int sigpending(sigset_t *set)
{
return rt_sigpending(set, sizeof(sigset_t));
}
+
+#endif
diff --git a/klibc/sigprocmask.c b/klibc/sigprocmask.c
index 1bc23da75c4e9..3a90f67732eb6 100644
--- a/klibc/sigprocmask.c
+++ b/klibc/sigprocmask.c
@@ -3,8 +3,17 @@
*/
#include <signal.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_sigprocmask
+
+_syscall3(int,sigprocmask,int,how,const sigset_t *,set,sigset_t *,oset);
+
+#else
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 4f9b5c78ab3c8..85cdea20ca4fa 100644
--- a/klibc/sigsuspend.c
+++ b/klibc/sigsuspend.c
@@ -3,8 +3,17 @@
*/
#include <signal.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_sigsuspend
+
+_syscall1(int,sigsuspend,const sigset_t *,mask);
+
+#else
int sigsuspend(const sigset_t *mask)
{
return rt_sigsuspend(mask, sizeof *mask);
}
+
+#endif
diff --git a/sigpending.c b/sigpending.c
index 8f9241a000b77..afbcf3cf34145 100644
--- a/sigpending.c
+++ b/sigpending.c
@@ -3,8 +3,17 @@
*/
#include <signal.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_sigpending
+
+_syscall1(int,sigpending,sigset_t *,set);
+
+#else
int sigpending(sigset_t *set)
{
return rt_sigpending(set, sizeof(sigset_t));
}
+
+#endif
diff --git a/sigprocmask.c b/sigprocmask.c
index 1bc23da75c4e9..3a90f67732eb6 100644
--- a/sigprocmask.c
+++ b/sigprocmask.c
@@ -3,8 +3,17 @@
*/
#include <signal.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_sigprocmask
+
+_syscall3(int,sigprocmask,int,how,const sigset_t *,set,sigset_t *,oset);
+
+#else
int sigprocmask(int how, const sigset_t *set, sigset_t *oset)
{
return rt_sigprocmask(how, set, oset, sizeof(sigset_t));
}
+
+#endif
diff --git a/sigsuspend.c b/sigsuspend.c
index 4f9b5c78ab3c8..85cdea20ca4fa 100644
--- a/sigsuspend.c
+++ b/sigsuspend.c
@@ -3,8 +3,17 @@
*/
#include <signal.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_sigsuspend
+
+_syscall1(int,sigsuspend,const sigset_t *,mask);
+
+#else
int sigsuspend(const sigset_t *mask)
{
return rt_sigsuspend(mask, sizeof *mask);
}
+
+#endif