From 9c0cc403977e6cad60a83efc43cacfe5d08fbf1e Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 30 Apr 2021 17:42:52 +0200 Subject: [PATCH] bpo-43916: select.devpoll uses Py_TPFLAGS_DISALLOW_INSTANTIATION --- Lib/test/test_select.py | 4 ++++ Modules/selectmodule.c | 10 +--------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Lib/test/test_select.py b/Lib/test/test_select.py index 1ef56243549874..957a633f3230e7 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 5038c325faa4eb..3ecd0c32b30389 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 }; pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy