Don't access Python objects while not holding the GIL.
Patch by Tatyana Krasnukha Differential Revision: https://reviews.llvm.org/D34942 llvm-svn: 307512
This commit is contained in:
@@ -1857,14 +1857,12 @@ StructuredData::DictionarySP ScriptInterpreterPython::GetDynamicSettings(
|
||||
return StructuredData::DictionarySP();
|
||||
|
||||
PythonObject reply_pyobj;
|
||||
{
|
||||
Locker py_lock(this,
|
||||
Locker::AcquireLock | Locker::InitSession | Locker::NoSTDIN);
|
||||
TargetSP target_sp(target->shared_from_this());
|
||||
reply_pyobj.Reset(PyRefType::Owned,
|
||||
(PyObject *)g_swig_plugin_get(generic->GetValue(),
|
||||
setting_name, target_sp));
|
||||
}
|
||||
Locker py_lock(this,
|
||||
Locker::AcquireLock | Locker::InitSession | Locker::NoSTDIN);
|
||||
TargetSP target_sp(target->shared_from_this());
|
||||
reply_pyobj.Reset(PyRefType::Owned,
|
||||
(PyObject *)g_swig_plugin_get(generic->GetValue(),
|
||||
setting_name, target_sp));
|
||||
|
||||
PythonDictionary py_dict(PyRefType::Borrowed, reply_pyobj.get());
|
||||
return py_dict.CreateStructuredDictionary();
|
||||
|
||||
Reference in New Issue
Block a user