gh-127945: acquire critical section around PyCFuncPtr_call (#131898)

This commit is contained in:
Kumar Aditya 2025-03-30 16:31:12 +05:30 committed by GitHub
parent 28e476f6a2
commit 46ada1e5e0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -4406,7 +4406,7 @@ _build_result(PyObject *result, PyObject *callargs,
}
static PyObject *
PyCFuncPtr_call(PyObject *op, PyObject *inargs, PyObject *kwds)
PyCFuncPtr_call_lock_held(PyObject *op, PyObject *inargs, PyObject *kwds)
{
PyObject *restype;
PyObject *converters;
@ -4544,6 +4544,16 @@ PyCFuncPtr_call(PyObject *op, PyObject *inargs, PyObject *kwds)
outmask, inoutmask, numretvals);
}
static PyObject *
PyCFuncPtr_call(PyObject *op, PyObject *inargs, PyObject *kwds)
{
PyObject *result;
Py_BEGIN_CRITICAL_SECTION(op);
result = PyCFuncPtr_call_lock_held(op, inargs, kwds);
Py_END_CRITICAL_SECTION();
return result;
}
static int
PyCFuncPtr_traverse(PyObject *op, visitproc visit, void *arg)
{