diff options
author | Eric Andersen <andersen@codepoet.org> | 2002-02-11 07:58:27 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2002-02-11 07:58:27 +0000 |
commit | f3aece684ded006182453378e8037b2b2cd290b8 (patch) | |
tree | 59a98b957966b0fa6f7d7b0fc9b1f78be6434992 | |
parent | efe1d2c43985b233e64516c77a2a011b258a04d5 (diff) |
HAVE_SA_RESTORER is supposed to be true, not false, on most arches.
-Erik
-rw-r--r-- | libc/signal/sigaction.c | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/libc/signal/sigaction.c b/libc/signal/sigaction.c index 849abc745..cf58edf39 100644 --- a/libc/signal/sigaction.c +++ b/libc/signal/sigaction.c @@ -28,7 +28,22 @@ #define HAVE_SA_RESTORER -#if defined(__hppa__) +#if defined(__alpha__) +#undef HAVE_SA_RESTORER +/* This is the sigaction struction from the Linux 2.1.20 kernel. */ +struct old_kernel_sigaction { + __sighandler_t k_sa_handler; + unsigned long sa_mask; + unsigned int sa_flags; +}; +/* This is the sigaction structure from the Linux 2.1.68 kernel. */ +struct kernel_sigaction { + __sighandler_t k_sa_handler; + unsigned int sa_flags; + sigset_t sa_mask; +}; +#elif defined(__hppa__) +/* We do not support SA_RESTORER on hppa. */ #undef HAVE_SA_RESTORER /* This is the sigaction struction from the Linux 2.1.20 kernel. */ /* Blah. This is bogus. We don't ever use it. */ @@ -37,7 +52,6 @@ struct old_kernel_sigaction { unsigned long sa_mask; unsigned long sa_flags; }; - /* This is the sigaction structure from the Linux 2.1.68 kernel. */ struct kernel_sigaction { __sighandler_t k_sa_handler; @@ -79,20 +93,19 @@ struct kernel_sigaction { int s_resv[1]; /* reserved */ }; #else - -#undef HAVE_SA_RESTORER -/* This is the sigaction struction from the Linux 2.1.20 kernel. */ +/* This is the sigaction structure from the Linux 2.1.20 kernel. */ struct old_kernel_sigaction { __sighandler_t k_sa_handler; unsigned long sa_mask; - unsigned int sa_flags; -}; - + unsigned long sa_flags; + void (*sa_restorer) (void); +}; + /* This is the sigaction structure from the Linux 2.1.68 kernel. */ - struct kernel_sigaction { __sighandler_t k_sa_handler; - unsigned int sa_flags; + unsigned long sa_flags; + void (*sa_restorer) (void); sigset_t sa_mask; }; #endif |