]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr: fix MgrPyModule destruction
authorJohn Spray <john.spray@redhat.com>
Wed, 29 Mar 2017 17:31:49 +0000 (13:31 -0400)
committerJohn Spray <john.spray@redhat.com>
Thu, 20 Apr 2017 13:59:50 +0000 (14:59 +0100)
Fixes: http://tracker.ceph.com/issues/19412
Signed-off-by: John Spray <john.spray@redhat.com>
src/mgr/MgrPyModule.cc

index 4e4c42483a51b41223ce2fbad0186da1f03d79ce..fe2a8436fb459fc1f3db1c59e21d4434f44bb7a7 100644 (file)
@@ -31,9 +31,14 @@ MgrPyModule::MgrPyModule(const std::string &module_name_)
 
 MgrPyModule::~MgrPyModule()
 {
-  Py_XDECREF(pModule);
-  Py_XDECREF(pClass);
+  PyGILState_STATE gstate;
+  gstate = PyGILState_Ensure();
+
   Py_XDECREF(pClassInstance);
+  Py_XDECREF(pClass);
+  Py_XDECREF(pModule);
+
+  PyGILState_Release(gstate);
 }
 
 int MgrPyModule::load()