From: Rich Felker Date: Sun, 13 Feb 2011 21:46:33 +0000 (-0500) Subject: fix omission that kept sa_restorer from being used X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=commitdiff_plain;h=e1d8d25a5024ec7832250e62825aab71ed8a253d fix omission that kept sa_restorer from being used --- 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;