summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2016-07-19 18:09:26 (GMT)
committerBerker Peksag <berker.peksag@gmail.com>2016-07-19 18:09:26 (GMT)
commitfe8d9666575284c10b6bf803b9c446523da1d23a (patch)
tree4b982695184f9f5f7d073d6a12f7c2e5a0f3f190
parenta1ea9c813f3adbab63392f6bfcb6a729ff272515 (diff)
downloadcpython-fe8d9666575284c10b6bf803b9c446523da1d23a.zip
cpython-fe8d9666575284c10b6bf803b9c446523da1d23a.tar.gz
cpython-fe8d9666575284c10b6bf803b9c446523da1d23a.tar.bz2
Issue #27567: Expose the POLLRDHUP constant in the select module
-rw-r--r--Doc/library/select.rst3
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/selectmodule.c8
3 files changed, 13 insertions, 1 deletions
diff --git a/Doc/library/select.rst b/Doc/library/select.rst
index 4fafb11..5494eef 100644
--- a/Doc/library/select.rst
+++ b/Doc/library/select.rst
@@ -391,6 +391,9 @@ linearly scanned again. :c:func:`select` is O(highest file descriptor), while
+-------------------+------------------------------------------+
| :const:`POLLHUP` | Hung up |
+-------------------+------------------------------------------+
+ | :const:`POLLRDHUP`| Stream socket peer closed connection, or |
+ | | shut down writing half of connection |
+ +-------------------+------------------------------------------+
| :const:`POLLNVAL` | Invalid request: descriptor not open |
+-------------------+------------------------------------------+
diff --git a/Misc/NEWS b/Misc/NEWS
index 803bef0..16d4476 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -28,7 +28,8 @@ Library
- Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select module.
-- Issue #27567: Expose the EPOLLRDHUP constant in the select module.
+- Issue #27567: Expose the EPOLLRDHUP and POLLRDHUP constants in the select
+ module.
- Issue #1621: Avoid signed int negation overflow in the "audioop" module.
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index c84c3cc..0f90ce2 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -4,6 +4,10 @@
have any value except INVALID_SOCKET.
*/
+#if defined(HAVE_POLL_H) && !defined(_GNU_SOURCE)
+#define _GNU_SOURCE
+#endif
+
#include "Python.h"
#include <structmember.h>
@@ -2452,6 +2456,10 @@ PyInit_select(void)
#ifdef POLLMSG
PyModule_AddIntMacro(m, POLLMSG);
#endif
+#ifdef POLLRDHUP
+ /* Kernel 2.6.17+ */
+ PyModule_AddIntMacro(m, POLLRDHUP);
+#endif
}
#endif /* HAVE_POLL */