[ScriptInterpreter] Initialize globals when loading a scripting module.
The LoadScriptingModule used by command script import wasn't initializing the LLDB global variables (things like `lldb.frame` and `lldb.debugger`). They would get initialized however when running the interactive script interpreter or running a single script line (e.g. `script print(lldb.frame)`). This patch fixes that by properly initializing the globals when loading a Python module. Differential revision: https://reviews.llvm.org/D67644 llvm-svn: 372060
This commit is contained in:
@@ -2699,12 +2699,12 @@ bool ScriptInterpreterPythonImpl::LoadScriptingModule(
|
||||
StreamString command_stream;
|
||||
|
||||
// Before executing Python code, lock the GIL.
|
||||
Locker py_lock(this,
|
||||
Locker::AcquireLock |
|
||||
(init_session ? Locker::InitSession : 0) |
|
||||
Locker::NoSTDIN,
|
||||
Locker::FreeAcquiredLock |
|
||||
(init_session ? Locker::TearDownSession : 0));
|
||||
Locker py_lock(
|
||||
this,
|
||||
Locker::AcquireLock | (init_session ? Locker::InitSession : 0) |
|
||||
(init_session ? Locker::InitGlobals : 0) | Locker::NoSTDIN,
|
||||
Locker::FreeAcquiredLock |
|
||||
(init_session ? Locker::TearDownSession : 0));
|
||||
namespace fs = llvm::sys::fs;
|
||||
fs::file_status st;
|
||||
std::error_code ec = status(target_file.GetPath(), st);
|
||||
|
||||
Reference in New Issue
Block a user