Issue #21085: add configure check for siginfo_t.si_band

Patch by Masayuki Yamamoto, reviewed and rebased by Erik Bray.

This is a first step on the long road toward resupporting Cygwin, which does
not provide siginfo_t.si_band.
This commit is contained in:
Zachary Ware 2016-10-01 00:47:27 -05:00
parent efd1bf4434
commit 6a6967e827
6 changed files with 25 additions and 0 deletions

View File

@ -1671,6 +1671,7 @@ Florent Xicluna
Arnon Yaari
Alakshendra Yadav
Hirokazu Yamamoto
Masayuki Yamamoto
Ka-Ping Yee
Chi Hsuan Yen
Jason Yeo

View File

@ -173,6 +173,9 @@ Windows
Build
-----
- Issue #21085: Add configure check for siginfo_t.si_band, which Cygwin does
not provide. Patch by Masayuki Yamamoto with review and rebase by Erik Bray.
- Issue #28258: Fixed build with Estonian locale (python-config and distclean
targets in Makefile). Patch by Arfrever Frehtes Taifersar Arahesis.

View File

@ -957,7 +957,11 @@ fill_siginfo(siginfo_t *si)
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;

12
configure vendored
View File

@ -13087,6 +13087,18 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
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 <signal.h>
"
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

View File

@ -3907,6 +3907,8 @@ AC_CHECK_MEMBERS([struct passwd.pw_gecos, struct passwd.pw_passwd], [], [], [[
#include <sys/types.h>
#include <pwd.h>
]])
+# Issue #21085: In Cygwin, siginfo_t does not have si_band field.
+AC_CHECK_MEMBERS([siginfo_t.si_band], [], [], [[#include <signal.h>]])
AC_MSG_CHECKING(for time.h that defines altzone)
AC_CACHE_VAL(ac_cv_header_time_altzone,[

View File

@ -856,6 +856,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