summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/arm/sigaction.c
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2006-07-06 01:40:24 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2006-07-06 01:40:24 +0000
commit7b3606fe47d6a2f30ae023a99d049ea45bc0ff7f (patch)
tree13d6b66e851218dbde873739e675d45d12b87988 /libc/sysdeps/linux/arm/sigaction.c
parentbde6a2af56c378d585e1cbe58cc1643c9336f94a (diff)
Remove SA_ONSTACK handling for ARM based up on glibc code as submitted by Paul Brook <paul@codesourcery.com>.
Diffstat (limited to 'libc/sysdeps/linux/arm/sigaction.c')
-rw-r--r--libc/sysdeps/linux/arm/sigaction.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/libc/sysdeps/linux/arm/sigaction.c b/libc/sysdeps/linux/arm/sigaction.c
index 1066d33dd..8ab2be797 100644
--- a/libc/sysdeps/linux/arm/sigaction.c
+++ b/libc/sysdeps/linux/arm/sigaction.c
@@ -57,14 +57,7 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa
memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
kact.sa_flags = act->sa_flags;
# ifdef HAVE_SA_RESTORER
- /* If the user specified SA_ONSTACK this means she is trying to
- use the old-style stack switching. Unfortunately this
- requires the sa_restorer field so we cannot install our own
- handler. (In fact the user is likely to be out of luck anyway
- since the kernel currently only supports stack switching via
- the X/Open sigaltstack interface, but we allow for the
- possibility that this might change in the future.) */
- if (kact.sa_flags & (SA_RESTORER | SA_ONSTACK)) {
+ if (kact.sa_flags & SA_RESTORER) {
kact.sa_restorer = act->sa_restorer;
} else {
kact.sa_restorer = choose_restorer (kact.sa_flags);
@@ -103,8 +96,7 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa
kact.sa_mask = act->sa_mask.__val[0];
kact.sa_flags = act->sa_flags;
# ifdef HAVE_SA_RESTORER
- /* See the comments above for why we test SA_ONSTACK. */
- if (kact.sa_flags & (SA_RESTORER | SA_ONSTACK)) {
+ if (kact.sa_flags & SA_RESTORER) {
kact.sa_restorer = act->sa_restorer;
} else {
kact.sa_restorer = choose_restorer (kact.sa_flags);