diff --git a/ChangeLog b/ChangeLog index 4eac2b4bd6..1068c44669 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +1999-06-06 Andi Kleen + + * sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Set + SA_RESTORER flag. + 1999-06-04 Andreas Jaeger * 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);