diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-02-13 16:46:33 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-02-13 16:46:33 -0500 |
commit | e1d8d25a5024ec7832250e62825aab71ed8a253d (patch) | |
tree | 1bc6e99b6831b33a948ae5c8dbb95a9020c6cc14 | |
parent | 0bcbb53dc492aae22039445bfdb609bd8d615992 (diff) | |
download | musl-e1d8d25a5024ec7832250e62825aab71ed8a253d.tar.gz musl-e1d8d25a5024ec7832250e62825aab71ed8a253d.tar.xz musl-e1d8d25a5024ec7832250e62825aab71ed8a253d.zip |
fix omission that kept sa_restorer from being used
-rw-r--r-- | include/bits/signal.h | 1 | ||||
-rw-r--r-- | src/signal/sigaction.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/bits/signal.h b/include/bits/signal.h index 2427f37a..c0bb818b 100644 --- a/include/bits/signal.h +++ b/include/bits/signal.h @@ -48,6 +48,7 @@ struct __siginfo #define SA_RESTART 0x10000000 #define SA_NODEFER 0x40000000 #define SA_RESETHAND 0x80000000 +#define SA_RESTORER 0x04000000 #define SS_ONSTACK 1 #define SS_DISABLE 2 diff --git a/src/signal/sigaction.c b/src/signal/sigaction.c index 4acd1730..9a362262 100644 --- a/src/signal/sigaction.c +++ b/src/signal/sigaction.c @@ -20,7 +20,7 @@ int __libc_sigaction(int sig, const struct sigaction *sa, struct sigaction *old) long pksa=0, pkold=0; if (sa) { ksa.handler = sa->sa_handler; - ksa.flags = sa->sa_flags; + ksa.flags = sa->sa_flags | SA_RESTORER; ksa.restorer = restorer; ksa.mask = sa->sa_mask; pksa = (long)&ksa; |