]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/BaseMgrModule: drop GIL in ceph_store_set 28161/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Sat, 30 Mar 2019 03:26:19 +0000 (11:26 +0800)
committerPrashant D <pdhange@redhat.com>
Fri, 17 May 2019 00:27:26 +0000 (20:27 -0400)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit 5108860c385cc1d905588d2e92d80295e3222ca4)

Conflicts:
src/mgr/ActivePyModules.cc : Resolved in set_store

src/mgr/ActivePyModules.cc
src/mgr/BaseMgrModule.cc

index 2244eaeb72926c9b142652a5e6ba2cb2d4fd3d4e..2f62956b01ccd4c2e2d296b2fd3ca8cc22c8bbc5 100644 (file)
@@ -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 {
index 499c355260e1b5ad421e0365531a759b937d9d5b..46b648cf573b52547e392295ccfb63c24dbc022e 100644 (file)
@@ -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;
 }