mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-10 10:01:42 +00:00
Patch from Daniel Malea that cleans up the process parameters for Process/Thread classes for POSIX and Linux.
llvm-svn: 165806
This commit is contained in:
parent
3c2fabf27a
commit
df3df25a71
@ -13,6 +13,8 @@
|
||||
#include "lldb/Core/Stream.h"
|
||||
#include "lldb/Symbol/Declaration.h"
|
||||
|
||||
#include <limits.h>
|
||||
|
||||
using namespace lldb;
|
||||
using namespace lldb_private;
|
||||
|
||||
|
@ -106,8 +106,7 @@ ProcessLinux::UpdateThreadList(ThreadList &old_thread_list, ThreadList &new_thre
|
||||
assert(m_monitor);
|
||||
ThreadSP thread_sp (old_thread_list.FindThreadByID (GetID(), false));
|
||||
if (!thread_sp) {
|
||||
ProcessSP me = this->shared_from_this();
|
||||
thread_sp.reset(new POSIXThread(me, GetID()));
|
||||
thread_sp.reset(new POSIXThread(*this, GetID()));
|
||||
}
|
||||
|
||||
if (log && log->GetMask().Test(POSIX_LOG_VERBOSE))
|
||||
|
@ -967,7 +967,6 @@ ProcessMonitor::Launch(LaunchArgs *args)
|
||||
{
|
||||
ProcessMonitor *monitor = args->m_monitor;
|
||||
ProcessLinux &process = monitor->GetProcess();
|
||||
lldb::ProcessSP processSP = process.shared_from_this();
|
||||
const char **argv = args->m_argv;
|
||||
const char **envp = args->m_envp;
|
||||
const char *stdin_path = args->m_stdin_path;
|
||||
@ -1106,7 +1105,7 @@ ProcessMonitor::Launch(LaunchArgs *args)
|
||||
// Update the process thread list with this new thread.
|
||||
// FIXME: should we be letting UpdateThreadList handle this?
|
||||
// FIXME: by using pids instead of tids, we can only support one thread.
|
||||
inferior.reset(new POSIXThread(processSP, pid));
|
||||
inferior.reset(new POSIXThread(process, pid));
|
||||
if (log)
|
||||
log->Printf ("ProcessMonitor::%s() adding pid = %i", __FUNCTION__, pid);
|
||||
process.GetThreadList().AddThread(inferior);
|
||||
@ -1168,7 +1167,6 @@ ProcessMonitor::Attach(AttachArgs *args)
|
||||
|
||||
ProcessMonitor *monitor = args->m_monitor;
|
||||
ProcessLinux &process = monitor->GetProcess();
|
||||
lldb::ProcessSP processSP = process.shared_from_this();
|
||||
lldb::ThreadSP inferior;
|
||||
LogSP log (ProcessPOSIXLog::GetLogIfAllCategoriesSet (POSIX_LOG_PROCESS));
|
||||
|
||||
@ -1196,7 +1194,7 @@ ProcessMonitor::Attach(AttachArgs *args)
|
||||
monitor->m_pid = pid;
|
||||
|
||||
// Update the process thread list with the attached thread.
|
||||
inferior.reset(new POSIXThread(processSP, pid));
|
||||
inferior.reset(new POSIXThread(process, pid));
|
||||
if (log)
|
||||
log->Printf ("ProcessMonitor::%s() adding tid = %i", __FUNCTION__, pid);
|
||||
process.GetThreadList().AddThread(inferior);
|
||||
|
@ -33,7 +33,7 @@ using namespace lldb;
|
||||
using namespace lldb_private;
|
||||
|
||||
|
||||
POSIXThread::POSIXThread(ProcessSP &process, lldb::tid_t tid)
|
||||
POSIXThread::POSIXThread(Process &process, lldb::tid_t tid)
|
||||
: Thread(process, tid),
|
||||
m_frame_ap(0)
|
||||
{
|
||||
|
@ -29,7 +29,7 @@ class POSIXThread
|
||||
: public lldb_private::Thread
|
||||
{
|
||||
public:
|
||||
POSIXThread(lldb::ProcessSP &process, lldb::tid_t tid);
|
||||
POSIXThread(lldb_private::Process &process, lldb::tid_t tid);
|
||||
|
||||
virtual ~POSIXThread();
|
||||
|
||||
|
@ -510,8 +510,7 @@ ProcessPOSIX::UpdateThreadList(ThreadList &old_thread_list, ThreadList &new_thre
|
||||
assert(m_monitor);
|
||||
ThreadSP thread_sp (old_thread_list.FindThreadByID (GetID(), false));
|
||||
if (!thread_sp) {
|
||||
ProcessSP me = this->shared_from_this();
|
||||
thread_sp.reset(new POSIXThread(me, GetID()));
|
||||
thread_sp.reset(new POSIXThread(*this, GetID()));
|
||||
}
|
||||
|
||||
if (log && log->GetMask().Test(POSIX_LOG_VERBOSE))
|
||||
|
Loading…
Reference in New Issue
Block a user