Issue #27567: Expose the POLLRDHUP constant in the select module

This commit is contained in:
Berker Peksag 2016-07-19 21:09:26 +03:00
parent a1ea9c813f
commit fe8d966657
3 changed files with 13 additions and 1 deletions

View File

@ -391,6 +391,9 @@ linearly scanned again. :c:func:`select` is O(highest file descriptor), while
+-------------------+------------------------------------------+ +-------------------+------------------------------------------+
| :const:`POLLHUP` | Hung up | | :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 | | :const:`POLLNVAL` | Invalid request: descriptor not open |
+-------------------+------------------------------------------+ +-------------------+------------------------------------------+

View File

@ -28,7 +28,8 @@ Library
- Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select module. - 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. - Issue #1621: Avoid signed int negation overflow in the "audioop" module.

View File

@ -4,6 +4,10 @@
have any value except INVALID_SOCKET. have any value except INVALID_SOCKET.
*/ */
#if defined(HAVE_POLL_H) && !defined(_GNU_SOURCE)
#define _GNU_SOURCE
#endif
#include "Python.h" #include "Python.h"
#include <structmember.h> #include <structmember.h>
@ -2451,6 +2455,10 @@ PyInit_select(void)
#endif #endif
#ifdef POLLMSG #ifdef POLLMSG
PyModule_AddIntMacro(m, POLLMSG); PyModule_AddIntMacro(m, POLLMSG);
#endif
#ifdef POLLRDHUP
/* Kernel 2.6.17+ */
PyModule_AddIntMacro(m, POLLRDHUP);
#endif #endif
} }
#endif /* HAVE_POLL */ #endif /* HAVE_POLL */