diff -r 8e3b9bf917a7 Modules/signalmodule.c --- a/Modules/signalmodule.c Tue Aug 16 23:35:35 2016 -0700 +++ b/Modules/signalmodule.c Tue Aug 30 12:02:48 2016 +0200 @@ -742,7 +742,11 @@ PyStructSequence_SET_ITEM(result, 4, _PyLong_FromUid(si->si_uid)); PyStructSequence_SET_ITEM(result, 5, PyLong_FromLong((long)(si->si_status))); +#ifdef HAVE_SIGINFO_T_SI_BAND PyStructSequence_SET_ITEM(result, 6, PyLong_FromLong(si->si_band)); +#else + PyStructSequence_SET_ITEM(result, 6, PyLong_FromLong(0L)); +#endif if (PyErr_Occurred()) { Py_DECREF(result); return NULL; diff -r 8e3b9bf917a7 configure --- a/configure Tue Aug 16 23:35:35 2016 -0700 +++ b/configure Tue Aug 30 12:02:48 2016 +0200 @@ -12070,6 +12070,18 @@ fi +# Issue #21085: In Cygwin, siginfo_t does not have si_band field. +ac_fn_c_check_member "$LINENO" "siginfo_t" "si_band" "ac_cv_member_siginfo_t_si_band" "#include +" +if test "x$ac_cv_member_siginfo_t_si_band" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_SIGINFO_T_SI_BAND 1 +_ACEOF + + +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for time.h that defines altzone" >&5 diff -r 8e3b9bf917a7 configure.ac --- a/configure.ac Tue Aug 16 23:35:35 2016 -0700 +++ b/configure.ac Tue Aug 30 12:02:48 2016 +0200 @@ -3304,6 +3304,8 @@ AC_CHECK_MEMBERS([struct stat.st_gen]) AC_CHECK_MEMBERS([struct stat.st_birthtime]) AC_STRUCT_ST_BLOCKS +# Issue #21085: In Cygwin, siginfo_t does not have si_band field. +AC_CHECK_MEMBERS([siginfo_t.si_band], [], [], [[#include ]]) AC_MSG_CHECKING(for time.h that defines altzone) AC_CACHE_VAL(ac_cv_header_time_altzone,[ diff -r 8e3b9bf917a7 pyconfig.h.in --- a/pyconfig.h.in Tue Aug 16 23:35:35 2016 -0700 +++ b/pyconfig.h.in Tue Aug 30 12:02:48 2016 +0200 @@ -795,6 +795,9 @@ /* Define to 1 if you have the `sigaltstack' function. */ #undef HAVE_SIGALTSTACK +/* Define to 1 if `si_band' is a member of `siginfo_t'. */ +#undef HAVE_SIGINFO_T_SI_BAND + /* Define to 1 if you have the `siginterrupt' function. */ #undef HAVE_SIGINTERRUPT