From: Sage Weil Date: Fri, 21 Feb 2020 14:58:55 +0000 (-0600) Subject: mgr/ActivePyModules: drop GIL to register/unregister clients X-Git-Tag: v15.1.1~317^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=26f618a40fee7842b15371722609542585127418;p=ceph-ci.git mgr/ActivePyModules: drop GIL to register/unregister clients We need to drop the GIL since we are taking ActivePyModules::lock. Fixes: df507cde8d71063d5873a42f668156e4c32e86f9 Fixes: https://tracker.ceph.com/issues/44241 Signed-off-by: Sage Weil --- diff --git a/src/mgr/BaseMgrModule.cc b/src/mgr/BaseMgrModule.cc index ebdec8f0503..f194dfe4f02 100644 --- a/src/mgr/BaseMgrModule.cc +++ b/src/mgr/BaseMgrModule.cc @@ -1069,9 +1069,9 @@ ceph_register_client(BaseMgrModule *self, PyObject *args) if (!PyArg_ParseTuple(args, "s:ceph_register_client", &addrs)) { return nullptr; } - + PyThreadState *tstate = PyEval_SaveThread(); self->py_modules->register_client(self->this_module->get_name(), addrs); - + PyEval_RestoreThread(tstate); Py_RETURN_NONE; } @@ -1082,9 +1082,9 @@ ceph_unregister_client(BaseMgrModule *self, PyObject *args) if (!PyArg_ParseTuple(args, "s:ceph_unregister_client", &addrs)) { return nullptr; } - + PyThreadState *tstate = PyEval_SaveThread(); self->py_modules->unregister_client(self->this_module->get_name(), addrs); - + PyEval_RestoreThread(tstate); Py_RETURN_NONE; }