#9862: On AIX PIPE_BUF is broken. Make it 512.
Patch by Sébastien Sablé.
diff --git a/Misc/NEWS b/Misc/NEWS
index 0e24737..55e57ba 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@
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.
+
- Use locale encoding instead of UTF-8 to encode and decode filenames if
Py_FileSystemDefaultEncoding is not set.
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 5c475f5..58cc4c7 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -1786,6 +1786,10 @@
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 01d81e9..4252d93 100644
--- a/configure.in
+++ b/configure.in
@@ -4213,6 +4213,10 @@
],
[AC_MSG_RESULT(no value specified)])
+case $ac_sys_system in
+AIX*)
+ AC_DEFINE(HAVE_BROKEN_PIPE_BUF, 1, [Define if the system reports an invalid PIPE_BUF value.]) ;;
+esac
case $ac_sys_system in