]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/BaseMgrModule: drop GIL in ceph_store_set 27280/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Sat, 30 Mar 2019 03:26:19 +0000 (11:26 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Mon, 1 Apr 2019 01:12:49 +0000 (09:12 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/mgr/ActivePyModules.cc
src/mgr/BaseMgrModule.cc

index 0f3f508eb6fec69e4c78094fe9030c9565429e32..745a34e301b9a9d26afa960d666c3f78f9261713 100644 (file)
@@ -593,10 +593,7 @@ void ActivePyModules::set_store(const std::string &module_name,
   
   Command set_cmd;
   {
-    PyThreadState *tstate = PyEval_SaveThread();
     std::lock_guard l(lock);
-    PyEval_RestoreThread(tstate);
-
     if (val) {
       store_cache[global_key] = *val;
     } else {
index 87eda069d50250ccacbed810b04d977f3f381bef..1cdb0f09a817e1e30c434458a23e4b5cc2c90866 100644 (file)
@@ -483,7 +483,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;
 }