#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