diff -r 7ac8e8568da2 Modules/signalmodule.c --- a/Modules/signalmodule.c Tue Aug 23 20:43:56 2016 -0400 +++ b/Modules/signalmodule.c Wed Aug 24 16:39:23 2016 +0900 @@ -962,7 +962,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 7ac8e8568da2 configure --- a/configure Tue Aug 23 20:43:56 2016 -0400 +++ b/configure Wed Aug 24 16:39:23 2016 +0900 @@ -12839,6 +12839,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 $as_echo_n "checking for time.h that defines altzone... " >&6; } diff -r 7ac8e8568da2 configure.ac --- a/configure.ac Tue Aug 23 20:43:56 2016 -0400 +++ b/configure.ac Wed Aug 24 16:39:23 2016 +0900 @@ -3753,6 +3753,8 @@ AC_CHECK_MEMBERS([struct stat.st_gen]) AC_CHECK_MEMBERS([struct stat.st_birthtime]) AC_CHECK_MEMBERS([struct stat.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 7ac8e8568da2 pyconfig.h.in --- a/pyconfig.h.in Tue Aug 23 20:43:56 2016 -0400 +++ b/pyconfig.h.in Wed Aug 24 16:39:23 2016 +0900 @@ -837,6 +837,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