diff options
author | Berker Peksag <berker.peksag@gmail.com> | 2016-07-19 18:09:26 (GMT) |
---|---|---|
committer | Berker Peksag <berker.peksag@gmail.com> | 2016-07-19 18:09:26 (GMT) |
commit | fe8d9666575284c10b6bf803b9c446523da1d23a (patch) | |
tree | 4b982695184f9f5f7d073d6a12f7c2e5a0f3f190 | |
parent | a1ea9c813f3adbab63392f6bfcb6a729ff272515 (diff) | |
download | cpython-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.rst | 3 | ||||
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rw-r--r-- | Modules/selectmodule.c | 8 |
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 | +-------------------+------------------------------------------+ @@ -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 */ |