Issue #16953: Fix socket module compilation on platforms with HAVE_BROKEN_POLL.
Patch by Jeffrey Armstrong.
diff --git a/Misc/ACKS b/Misc/ACKS
index 6c1ce68..538f2c0 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -35,6 +35,7 @@
 Ross Andrus
 Heidi Annexstad
 Éric Araujo
+Jeffrey Armstrong
 Jason Asbahr
 David Ascher
 Chris AtLee
diff --git a/Misc/NEWS b/Misc/NEWS
index f7491d1..11343e6 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -700,6 +700,9 @@
 Build
 -----
 
+- Issue #16953: Fix socket module compilation on platforms with
+  HAVE_BROKEN_POLL. Patch by Jeffrey Armstrong.
+
 - Issue #16836: Enable IPv6 support even if IPv6 is disabled on the build host.
 
 - Issue #15923: fix a mistake in asdl_c.py that resulted in a TypeError after
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 61e101e..650d9fe 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -1737,7 +1737,7 @@
 
 static PyMethodDef select_methods[] = {
     {"select",          select_select,  METH_VARARGS,   select_doc},
-#ifdef HAVE_POLL
+#if defined(HAVE_POLL) && !defined(HAVE_BROKEN_POLL)
     {"poll",            select_poll,    METH_NOARGS,    poll_doc},
 #endif /* HAVE_POLL */
     {0,         0},     /* sentinel */
@@ -1769,7 +1769,7 @@
     PyModule_AddIntConstant(m, "PIPE_BUF", PIPE_BUF);
 #endif
 
-#if defined(HAVE_POLL)
+#if defined(HAVE_POLL) && !defined(HAVE_BROKEN_POLL)
 #ifdef __APPLE__
     if (select_have_broken_poll()) {
         if (PyObject_DelAttrString(m, "poll") == -1) {