summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2020-11-04 15:33:55 (GMT)
committerGitHub <noreply@github.com>2020-11-04 15:33:55 (GMT)
commit988f1ec8d2643a0d00851903abcdae90d57ac0e6 (patch)
treea1cd6775adef2af21bcdfd29d140af1c80ff38fc
parentcfb41e80c1ac5940ec6f2246c9ab4a3d16ef757e (diff)
downloadcpython-988f1ec8d2643a0d00851903abcdae90d57ac0e6.zip
cpython-988f1ec8d2643a0d00851903abcdae90d57ac0e6.tar.gz
cpython-988f1ec8d2643a0d00851903abcdae90d57ac0e6.tar.bz2
bpo-1635741: _contextvars uses PyModule_AddType() (GH-23147)
Replace PyModule_AddObject() with PyModule_AddType() in the _contextvars module (Python-ast.c). Add also the module name to _contextvars types name.
-rw-r--r--Modules/_contextvarsmodule.c21
-rw-r--r--Python/context.c6
2 files changed, 6 insertions, 21 deletions
diff --git a/Modules/_contextvarsmodule.c b/Modules/_contextvarsmodule.c
index d6d7f37..d13b596 100644
--- a/Modules/_contextvarsmodule.c
+++ b/Modules/_contextvarsmodule.c
@@ -30,30 +30,15 @@ static PyMethodDef _contextvars_methods[] = {
static int
_contextvars_exec(PyObject *m)
{
- Py_INCREF(&PyContext_Type);
- if (PyModule_AddObject(m, "Context",
- (PyObject *)&PyContext_Type) < 0)
- {
- Py_DECREF(&PyContext_Type);
+ if (PyModule_AddType(m, &PyContext_Type) < 0) {
return -1;
}
-
- Py_INCREF(&PyContextVar_Type);
- if (PyModule_AddObject(m, "ContextVar",
- (PyObject *)&PyContextVar_Type) < 0)
- {
- Py_DECREF(&PyContextVar_Type);
+ if (PyModule_AddType(m, &PyContextVar_Type) < 0) {
return -1;
}
-
- Py_INCREF(&PyContextToken_Type);
- if (PyModule_AddObject(m, "Token",
- (PyObject *)&PyContextToken_Type) < 0)
- {
- Py_DECREF(&PyContextToken_Type);
+ if (PyModule_AddType(m, &PyContextToken_Type) < 0) {
return -1;
}
-
return 0;
}
diff --git a/Python/context.c b/Python/context.c
index 15d8b8e..82826bf 100644
--- a/Python/context.c
+++ b/Python/context.c
@@ -703,7 +703,7 @@ static PyMappingMethods PyContext_as_mapping = {
PyTypeObject PyContext_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
- "Context",
+ "_contextvars.Context",
sizeof(PyContext),
.tp_methods = PyContext_methods,
.tp_as_mapping = &PyContext_as_mapping,
@@ -1056,7 +1056,7 @@ static PyMethodDef PyContextVar_methods[] = {
PyTypeObject PyContextVar_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
- "ContextVar",
+ "_contextvars.ContextVar",
sizeof(PyContextVar),
.tp_methods = PyContextVar_methods,
.tp_members = PyContextVar_members,
@@ -1197,7 +1197,7 @@ static PyMethodDef PyContextTokenType_methods[] = {
PyTypeObject PyContextToken_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
- "Token",
+ "_contextvars.Token",
sizeof(PyContextToken),
.tp_methods = PyContextTokenType_methods,
.tp_getset = PyContextTokenType_getsetlist,