From bedbf86c74436b1bc6d0dec4e282a286fddc9fbd Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 23 Aug 2001 03:07:50 +0000 Subject: [PATCH] 2001-08-22 Roland McGrath * sysdeps/generic/bits/sigaction.h (struct sigaction): Fix up conditionalization of sa_handler/sa_sigaction member types to match the sysdeps/unix/sysv/linux file. --- bits/sigaction.h | 20 ++++++++++++++------ sysdeps/generic/bits/sigaction.h | 20 ++++++++++++++------ 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/bits/sigaction.h b/bits/sigaction.h index e23a96c..adcc276 100644 --- a/bits/sigaction.h +++ b/bits/sigaction.h @@ -30,12 +30,20 @@ struct sigaction { /* Signal handler. */ - union { - __sighandler_t sa_handler; - void (*sa_sigaction) (int, siginfo_t *, void *); - } __sigaction_handler; -# define sa_handler __sigaction_handler.sa_handler -# define sa_sigaction __sigaction_handler.sa_sigaction +#ifdef __USE_POSIX199309 + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif /* Additional set of signals to be blocked. */ __sigset_t sa_mask; diff --git a/sysdeps/generic/bits/sigaction.h b/sysdeps/generic/bits/sigaction.h index e23a96c..adcc276 100644 --- a/sysdeps/generic/bits/sigaction.h +++ b/sysdeps/generic/bits/sigaction.h @@ -30,12 +30,20 @@ struct sigaction { /* Signal handler. */ - union { - __sighandler_t sa_handler; - void (*sa_sigaction) (int, siginfo_t *, void *); - } __sigaction_handler; -# define sa_handler __sigaction_handler.sa_handler -# define sa_sigaction __sigaction_handler.sa_sigaction +#ifdef __USE_POSIX199309 + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif /* Additional set of signals to be blocked. */ __sigset_t sa_mask; -- 2.7.4