[Lldb-commits] [lldb] r307512 - Don't access Python objects while not holding the GIL.

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Sun Jul 9 16:32:15 PDT 2017


Author: zturner
Date: Sun Jul  9 16:32:15 2017
New Revision: 307512

URL: http://llvm.org/viewvc/llvm-project?rev=307512&view=rev
Log:
Don't access Python objects while not holding the GIL.

Patch by Tatyana Krasnukha
Differential Revision: https://reviews.llvm.org/D34942

Modified:
    lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

Modified: lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp?rev=307512&r1=307511&r2=307512&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp (original)
+++ lldb/trunk/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp Sun Jul  9 16:32:15 2017
@@ -1857,14 +1857,12 @@ StructuredData::DictionarySP ScriptInter
     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();




More information about the lldb-commits mailing list