Reverting ProcessMonitor shared pointer changes

llvm-svn: 185981
This commit is contained in:
Andrew Kaylor 2013-07-09 22:36:48 +00:00
parent 2c60538ddd
commit 6578cb6478
6 changed files with 18 additions and 22 deletions

View File

@ -689,7 +689,7 @@ ProcessMonitor::AttachArgs::~AttachArgs()
/// launching or attaching to the inferior process, and then 2) servicing
/// operations such as register reads/writes, stepping, etc. See the comments
/// on the Operation class for more info as to why this is needed.
ProcessMonitor::ProcessMonitor(ProcessPOSIXSP &process,
ProcessMonitor::ProcessMonitor(ProcessPOSIX *process,
Module *module,
const char *argv[],
const char *envp[],
@ -698,7 +698,7 @@ ProcessMonitor::ProcessMonitor(ProcessPOSIXSP &process,
const char *stderr_path,
const char *working_dir,
lldb_private::Error &error)
: m_process(static_pointer_cast<ProcessFreeBSD>(process)),
: m_process(static_cast<ProcessFreeBSD *>(process)),
m_operation_thread(LLDB_INVALID_HOST_THREAD),
m_monitor_thread(LLDB_INVALID_HOST_THREAD),
m_pid(LLDB_INVALID_PROCESS_ID),
@ -756,10 +756,10 @@ WAIT_AGAIN:
}
}
ProcessMonitor::ProcessMonitor(ProcessPOSIXSP &process,
ProcessMonitor::ProcessMonitor(ProcessPOSIX *process,
lldb::pid_t pid,
lldb_private::Error &error)
: m_process(static_pointer_cast<ProcessFreeBSD>(process)),
: m_process(static_cast<ProcessFreeBSD *>(process)),
m_operation_thread(LLDB_INVALID_HOST_THREAD),
m_monitor_thread(LLDB_INVALID_HOST_THREAD),
m_pid(pid),
@ -1102,7 +1102,7 @@ ProcessMonitor::MonitorCallback(void *callback_baton,
{
ProcessMessage message;
ProcessMonitor *monitor = static_cast<ProcessMonitor*>(callback_baton);
ProcessFreeBSD *process = monitor->m_process.get();
ProcessFreeBSD *process = monitor->m_process;
assert(process);
bool stop_monitoring;
siginfo_t info;

View File

@ -47,7 +47,7 @@ public:
/// Launches an inferior process ready for debugging. Forms the
/// implementation of Process::DoLaunch.
ProcessMonitor(ProcessPOSIXSP &process,
ProcessMonitor(ProcessPOSIX *process,
lldb_private::Module *module,
char const *argv[],
char const *envp[],
@ -57,7 +57,7 @@ public:
const char *working_dir,
lldb_private::Error &error);
ProcessMonitor(ProcessPOSIXSP &process,
ProcessMonitor(ProcessPOSIX *process,
lldb::pid_t pid,
lldb_private::Error &error);
@ -192,7 +192,7 @@ public:
private:
std::shared_ptr<ProcessFreeBSD> m_process;
ProcessFreeBSD *m_process;
lldb::thread_t m_operation_thread;
lldb::thread_t m_monitor_thread;

View File

@ -923,7 +923,7 @@ ProcessMonitor::AttachArgs::~AttachArgs()
/// launching or attaching to the inferior process, and then 2) servicing
/// operations such as register reads/writes, stepping, etc. See the comments
/// on the Operation class for more info as to why this is needed.
ProcessMonitor::ProcessMonitor(ProcessPOSIXSP &process,
ProcessMonitor::ProcessMonitor(ProcessPOSIX *process,
Module *module,
const char *argv[],
const char *envp[],
@ -932,7 +932,7 @@ ProcessMonitor::ProcessMonitor(ProcessPOSIXSP &process,
const char *stderr_path,
const char *working_dir,
lldb_private::Error &error)
: m_process(static_pointer_cast<ProcessLinux>(process)),
: m_process(static_cast<ProcessLinux *>(process)),
m_operation_thread(LLDB_INVALID_HOST_THREAD),
m_monitor_thread(LLDB_INVALID_HOST_THREAD),
m_pid(LLDB_INVALID_PROCESS_ID),
@ -988,10 +988,10 @@ WAIT_AGAIN:
}
}
ProcessMonitor::ProcessMonitor(ProcessPOSIXSP &process,
ProcessMonitor::ProcessMonitor(ProcessPOSIX *process,
lldb::pid_t pid,
lldb_private::Error &error)
: m_process(static_pointer_cast<ProcessLinux>(process)),
: m_process(static_cast<ProcessLinux *>(process)),
m_operation_thread(LLDB_INVALID_HOST_THREAD),
m_monitor_thread(LLDB_INVALID_HOST_THREAD),
m_pid(LLDB_INVALID_PROCESS_ID),
@ -1412,7 +1412,7 @@ ProcessMonitor::MonitorCallback(void *callback_baton,
{
ProcessMessage message;
ProcessMonitor *monitor = static_cast<ProcessMonitor*>(callback_baton);
ProcessLinux *process = monitor->m_process.get();
ProcessLinux *process = monitor->m_process;
assert(process);
bool stop_monitoring;
siginfo_t info;

View File

@ -47,7 +47,7 @@ public:
/// Launches an inferior process ready for debugging. Forms the
/// implementation of Process::DoLaunch.
ProcessMonitor(ProcessPOSIXSP &process,
ProcessMonitor(ProcessPOSIX *process,
lldb_private::Module *module,
char const *argv[],
char const *envp[],
@ -57,7 +57,7 @@ public:
const char *working_dir,
lldb_private::Error &error);
ProcessMonitor(ProcessPOSIXSP &process,
ProcessMonitor(ProcessPOSIX *process,
lldb::pid_t pid,
lldb_private::Error &error);
@ -182,7 +182,7 @@ public:
StopThread(lldb::tid_t tid);
private:
std::shared_ptr<ProcessLinux> m_process;
ProcessLinux *m_process;
lldb::thread_t m_operation_thread;
lldb::thread_t m_monitor_thread;

View File

@ -115,8 +115,7 @@ ProcessPOSIX::DoAttachToProcessWithID(lldb::pid_t pid)
if (log && log->GetMask().Test(POSIX_LOG_VERBOSE))
log->Printf ("ProcessPOSIX::%s(pid = %" PRIi64 ")", __FUNCTION__, GetID());
ProcessPOSIXSP process_sp(static_pointer_cast<ProcessPOSIX>(CalculateProcess()));
m_monitor = new ProcessMonitor(process_sp, pid, error);
m_monitor = new ProcessMonitor(this, pid, error);
if (!error.Success())
return error;
@ -226,8 +225,7 @@ ProcessPOSIX::DoLaunch (Module *module,
file_action = launch_info.GetFileActionForFD (STDERR_FILENO);
stderr_path = GetFilePath(file_action, stderr_path);
ProcessPOSIXSP process_sp(static_pointer_cast<ProcessPOSIX>(CalculateProcess()));
m_monitor = new ProcessMonitor (process_sp,
m_monitor = new ProcessMonitor (this,
module,
launch_info.GetArguments().GetConstArgumentVector(),
launch_info.GetEnvironmentEntries().GetConstArgumentVector(),

View File

@ -201,6 +201,4 @@ protected:
ThreadStopSet m_seen_initial_stop;
};
typedef std::shared_ptr<ProcessPOSIX> ProcessPOSIXSP;
#endif // liblldb_MacOSXProcess_H_