Issue #23652: Make the select module compile against LSB headers.
Initial patch by Matt Frank.
diff --git a/Misc/ACKS b/Misc/ACKS
index 9cfd8ec..21f4cca 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -429,6 +429,7 @@
Chris Foster
John Fouhy
Andrew Francis
+Matt Frank
Stefan Franke
Martin Franklin
Kent Frazier
diff --git a/Misc/NEWS b/Misc/NEWS
index bc742a8..54c2d8c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -34,6 +34,10 @@
Library
-------
+- Issue #23652: Make it possible to compile the select module against the
+ libc headers from the Linux Standard Base, which do not include some
+ EPOLL macros. Initial patch by Matt Frank.
+
- Issue #15138: Speed up base64.urlsafe_b64{en,de}code considerably.
- Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 2707b05..6ea308a 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -1874,11 +1874,21 @@
PyModule_AddIntConstant(m, "EPOLLONESHOT", EPOLLONESHOT);
#endif
/* PyModule_AddIntConstant(m, "EPOLL_RDHUP", EPOLLRDHUP); */
+#ifdef EPOLLRDNORM
PyModule_AddIntConstant(m, "EPOLLRDNORM", EPOLLRDNORM);
+#endif
+#ifdef EPOLLRDBAND
PyModule_AddIntConstant(m, "EPOLLRDBAND", EPOLLRDBAND);
+#endif
+#ifdef EPOLLWRNORM
PyModule_AddIntConstant(m, "EPOLLWRNORM", EPOLLWRNORM);
+#endif
+#ifdef EPOLLWRBAND
PyModule_AddIntConstant(m, "EPOLLWRBAND", EPOLLWRBAND);
+#endif
+#ifdef EPOLLMSG
PyModule_AddIntConstant(m, "EPOLLMSG", EPOLLMSG);
+#endif
#endif /* HAVE_EPOLL */
#ifdef HAVE_KQUEUE