https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=8a508f301cb9fb7e11f7cc2e3be7ffd42e64c25f
commit 8a508f301cb9fb7e11f7cc2e3be7ffd42e64c25f Author: Yaakov Selkowitz <[email protected]> Date: Tue Jul 4 18:10:02 2017 -0500 Cygwin: fix signal.h with _POSIX_C_SOURCE=1 struct sigaction is POSIX.1-1990 but siginfo_t, which is used by its sa_sigaction member, is POSIX.1b-1993. Therefore it needs to be guarded as well, and as part of a union, the struct size is protected. Signed-off-by: Yaakov Selkowitz <[email protected]> Diff: --- winsup/cygwin/include/cygwin/signal.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/winsup/cygwin/include/cygwin/signal.h b/winsup/cygwin/include/cygwin/signal.h index 700d45c..e73874c 100644 --- a/winsup/cygwin/include/cygwin/signal.h +++ b/winsup/cygwin/include/cygwin/signal.h @@ -325,7 +325,9 @@ struct sigaction __extension__ union { _sig_func_ptr sa_handler; /* SIG_DFL, SIG_IGN, or pointer to a function */ +#if __POSIX_VISIBLE >= 199309 void (*sa_sigaction) ( int, siginfo_t *, void * ); +#endif }; sigset_t sa_mask; int sa_flags;
