diff --git a/src/mgr/ActivePyModules.cc b/src/mgr/ActivePyModules.cc index 2244eaeb72926..2f62956b01ccd 100644 --- a/src/mgr/ActivePyModules.cc +++ b/src/mgr/ActivePyModules.cc @@ -523,10 +523,7 @@ void ActivePyModules::set_store(const std::string &module_name, Command set_cmd; { - PyThreadState *tstate = PyEval_SaveThread(); Mutex::Locker l(lock); - PyEval_RestoreThread(tstate); - if (val) { store_cache[global_key] = *val; } else { diff --git a/src/mgr/BaseMgrModule.cc b/src/mgr/BaseMgrModule.cc index 1dbc5bfb48088..46b648cf573b5 100644 --- a/src/mgr/BaseMgrModule.cc +++ b/src/mgr/BaseMgrModule.cc @@ -406,7 +406,9 @@ ceph_config_set(BaseMgrModule *self, PyObject *args) if (value) { val = value; } + PyThreadState *tstate = PyEval_SaveThread(); self->py_modules->set_config(self->this_module->get_name(), key, val); + PyEval_RestoreThread(tstate); Py_RETURN_NONE; } @@ -447,7 +449,9 @@ ceph_store_set(BaseMgrModule *self, PyObject *args) if (value) { val = value; } + PyThreadState *tstate = PyEval_SaveThread(); self->py_modules->set_store(self->this_module->get_name(), key, val); + PyEval_RestoreThread(tstate); Py_RETURN_NONE; }