https://github.com/python/cpython/commit/46ada1e5e0b8942ea72e748880732a9468be1e92 commit: 46ada1e5e0b8942ea72e748880732a9468be1e92 branch: main author: Kumar Aditya <kumaradi...@python.org> committer: kumaraditya303 <kumaradi...@python.org> date: 2025-03-30T11:01:12Z summary:
gh-127945: acquire critical section around `PyCFuncPtr_call` (#131898) files: M Modules/_ctypes/_ctypes.c diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 7536d3fdc2b882..59ea579627e56f 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -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) { _______________________________________________ Python-checkins mailing list -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com