diff -r 51627344fc58 Modules/signalmodule.c --- a/Modules/signalmodule.c Mon Aug 22 18:05:56 2016 +0300 +++ b/Modules/signalmodule.c Wed Aug 24 00:04:12 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 51627344fc58 configure --- a/configure Mon Aug 22 18:05:56 2016 +0300 +++ b/configure Wed Aug 24 00:04:12 2016 +0900 @@ -12839,6 +12827,17 @@ 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" "$ac_includes_default" +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 51627344fc58 configure.ac --- a/configure.ac Mon Aug 22 18:05:56 2016 +0300 +++ b/configure.ac Wed Aug 24 00:04:12 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]) AC_MSG_CHECKING(for time.h that defines altzone) AC_CACHE_VAL(ac_cv_header_time_altzone,[ diff -r 51627344fc58 pyconfig.h.in --- a/pyconfig.h.in Mon Aug 22 18:05:56 2016 +0300 +++ b/pyconfig.h.in Wed Aug 24 00:04:12 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