summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorR. David Murray <rdmurray@bitdance.com>2010-10-16 00:43:13 (GMT)
committerR. David Murray <rdmurray@bitdance.com>2010-10-16 00:43:13 (GMT)
commit1d9d16e82729821197af6e240995a344e8e7e0ba (patch)
tree680a6d1ed94426cdaa8cbb7cbf8f0d6d43656329
parent63e284d35433130b8f8bc79276a0a476bbad36fb (diff)
downloadcpython-1d9d16e82729821197af6e240995a344e8e7e0ba.zip
cpython-1d9d16e82729821197af6e240995a344e8e7e0ba.tar.gz
cpython-1d9d16e82729821197af6e240995a344e8e7e0ba.tar.bz2
Merged revisions 85554 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r85554 | r.david.murray | 2010-10-15 19:12:57 -0400 (Fri, 15 Oct 2010) | 4 lines #9862: On AIX PIPE_BUF is broken. Make it 512. Patch by Sébastien Sablé. ........
-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)`