summaryrefslogtreecommitdiffstats
path: root/Python/pystate.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2022-11-10 08:03:39 (GMT)
committerGitHub <noreply@github.com>2022-11-10 08:03:39 (GMT)
commitd8f239d86eb70c31aa4c4ac46a1d0a27bdb14b20 (patch)
tree7055b2d966bf41e636751177cea0248b56072e92 /Python/pystate.c
parentf883b7f8ee3209b52863fc662343c8cd81abdc59 (diff)
downloadcpython-d8f239d86eb70c31aa4c4ac46a1d0a27bdb14b20.zip
cpython-d8f239d86eb70c31aa4c4ac46a1d0a27bdb14b20.tar.gz
cpython-d8f239d86eb70c31aa4c4ac46a1d0a27bdb14b20.tar.bz2
gh-99300: Use Py_NewRef() in Python/ directory (#99302)
Replace Py_INCREF() and Py_XINCREF() with Py_NewRef() and Py_XNewRef() in C files of the Python/ directory.
Diffstat (limited to 'Python/pystate.c')
-rw-r--r--Python/pystate.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/Python/pystate.c b/Python/pystate.c
index df0f4e2..b5fd8c2 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -944,9 +944,8 @@ _PyState_AddModule(PyThreadState *tstate, PyObject* module, PyModuleDef* def)
}
}
- Py_INCREF(module);
return PyList_SetItem(interp->modules_by_index,
- def->m_base.m_index, module);
+ def->m_base.m_index, Py_NewRef(module));
}
int
@@ -994,8 +993,7 @@ PyState_RemoveModule(PyModuleDef* def)
Py_FatalError("Module index out of bounds.");
}
- Py_INCREF(Py_None);
- return PyList_SetItem(interp->modules_by_index, index, Py_None);
+ return PyList_SetItem(interp->modules_by_index, index, Py_NewRef(Py_None));
}
// Used by finalize_modules()
@@ -1299,8 +1297,7 @@ PyThreadState_GetFrame(PyThreadState *tstate)
if (frame == NULL) {
PyErr_Clear();
}
- Py_XINCREF(frame);
- return frame;
+ return (PyFrameObject*)Py_XNewRef(frame);
}
@@ -1346,8 +1343,7 @@ PyThreadState_SetAsyncExc(unsigned long id, PyObject *exc)
* the decref.
*/
PyObject *old_exc = tstate->async_exc;
- Py_XINCREF(exc);
- tstate->async_exc = exc;
+ tstate->async_exc = Py_XNewRef(exc);
HEAD_UNLOCK(runtime);
Py_XDECREF(old_exc);
@@ -2027,8 +2023,7 @@ _bytes_shared(PyObject *obj, _PyCrossInterpreterData *data)
return -1;
}
data->data = (void *)shared;
- Py_INCREF(obj);
- data->obj = obj; // Will be "released" (decref'ed) when data released.
+ data->obj = Py_NewRef(obj); // Will be "released" (decref'ed) when data released.
data->new_object = _new_bytes_object;
data->free = PyMem_Free;
return 0;
@@ -2055,8 +2050,7 @@ _str_shared(PyObject *obj, _PyCrossInterpreterData *data)
shared->buffer = PyUnicode_DATA(obj);
shared->len = PyUnicode_GET_LENGTH(obj);
data->data = (void *)shared;
- Py_INCREF(obj);
- data->obj = obj; // Will be "released" (decref'ed) when data released.
+ data->obj = Py_NewRef(obj); // Will be "released" (decref'ed) when data released.
data->new_object = _new_str_object;
data->free = PyMem_Free;
return 0;
@@ -2093,8 +2087,7 @@ static PyObject *
_new_none_object(_PyCrossInterpreterData *data)
{
// XXX Singleton refcounts are problematic across interpreters...
- Py_INCREF(Py_None);
- return Py_None;
+ return Py_NewRef(Py_None);
}
static int