[lldb] Fix Python GIL-not-held issue in CreateStructuredDataFromScriptObject (#136309)
TestStructuredDataAPI.py fails with Python debug build ver. 3.12+ due to call to Py_XINCREF while GIL is not held.
This commit is contained in:
committed by
GitHub
parent
15e662bf06
commit
058992ea9f
@@ -1569,10 +1569,10 @@ StructuredData::ObjectSP
|
||||
ScriptInterpreterPythonImpl::CreateStructuredDataFromScriptObject(
|
||||
ScriptObject obj) {
|
||||
void *ptr = const_cast<void *>(obj.GetPointer());
|
||||
Locker py_lock(this, Locker::AcquireLock | Locker::NoSTDIN, Locker::FreeLock);
|
||||
PythonObject py_obj(PyRefType::Borrowed, static_cast<PyObject *>(ptr));
|
||||
if (!py_obj.IsValid() || py_obj.IsNone())
|
||||
return {};
|
||||
Locker py_lock(this, Locker::AcquireLock | Locker::NoSTDIN, Locker::FreeLock);
|
||||
return py_obj.CreateStructuredObject();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user