https://github.com/python/cpython/commit/01b52ea5c03ed83dbf44369b75f3b158c14dd912 commit: 01b52ea5c03ed83dbf44369b75f3b158c14dd912 branch: 3.14 author: Miss Islington (bot) <[email protected]> committer: colesbury <[email protected]> date: 2025-10-22T15:44:09Z summary:
[3.14] gh-116738: Add critical section to dbm/gdbm context manager (gh-140391) (gh-140459) (cherry picked from commit d51be28876ac0715b6fc674ef41618d214021348) Co-authored-by: Alper <[email protected]> files: M Modules/_dbmmodule.c M Modules/_gdbmmodule.c diff --git a/Modules/_dbmmodule.c b/Modules/_dbmmodule.c index 0cd0f043de453d..c393cde21f5491 100644 --- a/Modules/_dbmmodule.c +++ b/Modules/_dbmmodule.c @@ -523,8 +523,12 @@ dbm__enter__(PyObject *self, PyObject *Py_UNUSED(dummy)) static PyObject * dbm__exit__(PyObject *self, PyObject *Py_UNUSED(args)) { + PyObject *result; dbmobject *dp = dbmobject_CAST(self); - return _dbm_dbm_close_impl(dp); + Py_BEGIN_CRITICAL_SECTION(self); + result = _dbm_dbm_close_impl(dp); + Py_END_CRITICAL_SECTION(); + return result; } static PyMethodDef dbm_methods[] = { diff --git a/Modules/_gdbmmodule.c b/Modules/_gdbmmodule.c index ce8696d9225e72..d9abab19719789 100644 --- a/Modules/_gdbmmodule.c +++ b/Modules/_gdbmmodule.c @@ -695,7 +695,11 @@ gdbm__enter__(PyObject *self, PyObject *args) static PyObject * gdbm__exit__(PyObject *self, PyObject *args) { - return _gdbm_gdbm_close_impl((gdbmobject *)self); + PyObject *result; + Py_BEGIN_CRITICAL_SECTION(self); + result = _gdbm_gdbm_close_impl((gdbmobject *)self); + Py_END_CRITICAL_SECTION(); + return result; } static PyMethodDef gdbm_methods[] = { _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]
