Fixing a bunch of issues with the OS plugin code
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162527 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/python-wrapper.swig b/scripts/Python/python-wrapper.swig
index a2c7a48..1acbe27 100644
--- a/scripts/Python/python-wrapper.swig
+++ b/scripts/Python/python-wrapper.swig
@@ -779,7 +779,7 @@
if (PyCallable_Check (pfunc))
{
- PyObject *argList = Py_BuildValue("S", SBProc_PyObj);
+ PyObject *argList = Py_BuildValue("(O)", SBProc_PyObj);
if (PyErr_Occurred ())
{
diff --git a/source/Interpreter/ScriptInterpreterPython.cpp b/source/Interpreter/ScriptInterpreterPython.cpp
index faf362b..2c40627 100644
--- a/source/Interpreter/ScriptInterpreterPython.cpp
+++ b/source/Interpreter/ScriptInterpreterPython.cpp
@@ -1717,7 +1717,7 @@
void* ret_val;
{
- Locker py_lock(this);
+ Locker py_lock(this,Locker::AcquireLock,Locker::FreeLock);
ret_val = g_swig_create_os_plugin (class_name,
m_dictionary_name.c_str(),
process_sp);
@@ -1729,6 +1729,8 @@
lldb::ScriptInterpreterObjectSP
ScriptInterpreterPython::OSPlugin_QueryForRegisterInfo (lldb::ScriptInterpreterObjectSP object)
{
+ Locker py_lock(this,Locker::AcquireLock,Locker::FreeLock);
+
static char callee_name[] = "get_register_info";
if (!object)
@@ -1786,6 +1788,8 @@
lldb::ScriptInterpreterObjectSP
ScriptInterpreterPython::OSPlugin_QueryForThreadsInfo (lldb::ScriptInterpreterObjectSP object)
{
+ Locker py_lock(this,Locker::AcquireLock,Locker::FreeLock);
+
static char callee_name[] = "get_thread_info";
if (!object)
@@ -1844,6 +1848,8 @@
ScriptInterpreterPython::OSPlugin_QueryForThreadInfo (lldb::ScriptInterpreterObjectSP object,
lldb::tid_t thread_id)
{
+ Locker py_lock(this,Locker::AcquireLock,Locker::FreeLock);
+
static char callee_name[] = "get_register_data";
static char param_format[] = "l";
diff --git a/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp b/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
index ba57c73..4a782c6 100644
--- a/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
+++ b/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
@@ -56,7 +56,7 @@
OperatingSystemPython::CreateInstance (Process *process, bool force)
{
// Python OperatingSystem plug-ins must be requested by name, so force must be true
- if (force)
+ //if (force)
return new OperatingSystemPython (process);
return NULL;
}