From: xie xingguo Date: Sat, 30 Mar 2019 03:26:19 +0000 (+0800) Subject: mgr/BaseMgrModule: drop GIL in ceph_store_set X-Git-Tag: v13.2.7~279^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F28161%2Fhead;p=ceph.git mgr/BaseMgrModule: drop GIL in ceph_store_set Signed-off-by: xie xingguo (cherry picked from commit 5108860c385cc1d905588d2e92d80295e3222ca4) Conflicts: src/mgr/ActivePyModules.cc : Resolved in set_store --- diff --git a/src/mgr/ActivePyModules.cc b/src/mgr/ActivePyModules.cc index 2244eaeb7292..2f62956b01cc 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 499c355260e1..46b648cf573b 100644 --- a/src/mgr/BaseMgrModule.cc +++ b/src/mgr/BaseMgrModule.cc @@ -449,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; }