summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/selectmodule.c4
-rw-r--r--configure.in6
3 files changed, 13 insertions, 0 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index d7f6d1f..d8f2f1b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@ What's New in Python 2.7.1?
Core and Builtins
-----------------
+- Issue #9862: Compensate for broken PIPE_BUF in AIX by hard coding
+ its value as the default 512 when compiling on AIX.
+
- Issue #10068: Global objects which have reference cycles with their module's
dict are now cleared again. This causes issue #7140 to appear again.
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 1b88c98..086a647 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -1768,6 +1768,10 @@ initselect(void)
PyModule_AddObject(m, "error", SelectError);
#ifdef PIPE_BUF
+#ifdef HAVE_BROKEN_PIPE_BUF
+#undef PIPE_BUF
+#define PIPE_BUF 512
+#endif
PyModule_AddIntConstant(m, "PIPE_BUF", PIPE_BUF);
#endif
diff --git a/configure.in b/configure.in
index bfa5ba5..3a87ff1 100644
--- a/configure.in
+++ b/configure.in
@@ -4261,6 +4261,12 @@ AC_CHECK_TYPE(socklen_t,,
#endif
])
+case $ac_sys_system in
+AIX*)
+ AC_DEFINE(HAVE_BROKEN_PIPE_BUF, 1, [Define if the system reports an invalid PIPE_BUF value.]) ;;
+esac
+
+
AC_SUBST(THREADHEADERS)
for h in `(cd $srcdir;echo Python/thread_*.h)`