summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/avr32/sigaction.c
diff options
context:
space:
mode:
authorCarmelo Amoroso <carmelo.amoroso@st.com>2007-12-07 14:24:06 +0000
committerCarmelo Amoroso <carmelo.amoroso@st.com>2007-12-07 14:24:06 +0000
commitd58c76005e5b3471ac9313c53bf43007a97c307c (patch)
tree6e740415961338a4b609edf6fa4082d80061c9be /libc/sysdeps/linux/avr32/sigaction.c
parentd53b49e5f58de1d63cb57069c34f8406fc9b86f7 (diff)
I don't remember exactly why we decided to pick the caller's value of
sa_restorer when SA_ONSTACK is set, but it seems to break LTP's sigaltstack testcase. Some users have reported problems with sigaltstack as well; hopefully this will fix it. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'libc/sysdeps/linux/avr32/sigaction.c')
-rw-r--r--libc/sysdeps/linux/avr32/sigaction.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/avr32/sigaction.c b/libc/sysdeps/linux/avr32/sigaction.c
index 6817e1b1e..03cc9a049 100644
--- a/libc/sysdeps/linux/avr32/sigaction.c
+++ b/libc/sysdeps/linux/avr32/sigaction.c
@@ -30,7 +30,7 @@ int __libc_sigaction(int signum, const struct sigaction *act,
kact.k_sa_handler = act->sa_handler;
memcpy(&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask));
kact.sa_flags = act->sa_flags;
- if (kact.sa_flags & (SA_RESTORER | SA_ONSTACK))
+ if (kact.sa_flags & SA_RESTORER)
kact.sa_restorer = act->sa_restorer;
else
kact.sa_restorer = __default_rt_sa_restorer;