From: Roland McGrath Date: Thu, 23 Aug 2001 03:07:50 +0000 (+0000) Subject: 2001-08-22 Roland McGrath X-Git-Tag: cvs/glibc-2-2-5~393 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=bedbf86c74436b1bc6d0dec4e282a286fddc9fbd;p=platform%2Fupstream%2Fglibc.git 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. --- 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;