Adds the select.PIPE_BUF attribute to expose the system constant.
diff --git a/Doc/library/select.rst b/Doc/library/select.rst
index 351ecfa..469fbac 100644
--- a/Doc/library/select.rst
+++ b/Doc/library/select.rst
@@ -100,6 +100,15 @@
       library, and does not handle file descriptors that don't originate from
       WinSock.
 
+.. attribute:: select.PIPE_BUF
+
+   Files reported as ready for writing by :func:`select`, :func:`poll` or
+   similar interfaces in this module are guaranteed to not block on a write
+   of up to :const:`PIPE_BUF` bytes.
+   This value is guaranteed by POSIX to be at least 512.
+
+   .. versionadded:: 2.7
+
 
 .. _epoll-objects:
 
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 2638bdc..a405812 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -1746,6 +1746,8 @@
 	Py_INCREF(SelectError);
 	PyModule_AddObject(m, "error", SelectError);
 
+	PyModule_AddIntConstant(m, "PIPE_BUF", PIPE_BUF);
+
 #if defined(HAVE_POLL)
 #ifdef __APPLE__
 	if (select_have_broken_poll()) {