bpo-43916: select.devpoll uses Py_TPFLAGS_DISALLOW_INSTANTIATION (GH-25751)

diff --git a/Lib/test/test_select.py b/Lib/test/test_select.py
index 1ef5624..957a633 100644
--- a/Lib/test/test_select.py
+++ b/Lib/test/test_select.py
@@ -91,6 +91,10 @@ def test_disallow_instantiation(self):
         tp = type(select.poll())
         self.assertRaises(TypeError, tp)
 
+        if hasattr(select, 'devpoll'):
+            tp = type(select.devpoll())
+            self.assertRaises(TypeError, tp)
+
 def tearDownModule():
     support.reap_children()
 
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 5038c32..3ecd0c3 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -1110,13 +1110,6 @@ newDevPollObject(PyObject *module)
     return self;
 }
 
-static PyObject *
-devpoll_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
-{
-    PyErr_Format(PyExc_TypeError, "Cannot create '%.200s' instances", _PyType_Name(type));
-    return NULL;
-}
-
 static void
 devpoll_dealloc(devpollObject *self)
 {
@@ -1131,7 +1124,6 @@ static PyType_Slot devpoll_Type_slots[] = {
     {Py_tp_dealloc, devpoll_dealloc},
     {Py_tp_getset, devpoll_getsetlist},
     {Py_tp_methods, devpoll_methods},
-    {Py_tp_new, devpoll_new},
     {0, 0},
 };
 
@@ -1139,7 +1131,7 @@ static PyType_Spec devpoll_Type_spec = {
     "select.devpoll",
     sizeof(devpollObject),
     0,
-    Py_TPFLAGS_DEFAULT,
+    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_DISALLOW_INSTANTIATION,
     devpoll_Type_slots
 };