diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sigaction.c | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +1999-06-06 Andi Kleen <ak@muc.de> + + * sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Set + SA_RESTORER flag. + 1999-06-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> * math/libm-test.c (yn_test): Change one delta. diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c index 29f9fc5be8..db91e52132 100644 --- a/sysdeps/unix/sysv/linux/i386/sigaction.c +++ b/sysdeps/unix/sysv/linux/i386/sigaction.c @@ -69,7 +69,7 @@ __sigaction (int sig, const struct sigaction *act, struct sigaction *oact) { kact.k_sa_handler = act->sa_handler; memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t)); - kact.sa_flags = act->sa_flags; + kact.sa_flags = act->sa_flags | SA_RESTORER; kact.sa_restorer = ((act->sa_flags & SA_NOMASK) ? &&restore_nomask : &&restore); @@ -106,7 +106,7 @@ __sigaction (int sig, const struct sigaction *act, struct sigaction *oact) { k_newact.k_sa_handler = act->sa_handler; k_newact.sa_mask = act->sa_mask.__val[0]; - k_newact.sa_flags = act->sa_flags; + k_newact.sa_flags = act->sa_flags | SA_RESTORER; k_newact.sa_restorer = ((act->sa_flags & SA_NOMASK) ? &&restore_nomask : &&restore); |