REPOSITORY
rL LLVM
http://reviews.llvm.org/D8079
Files:
lldb/trunk/source/Plugins/Platform/Linux/PlatformLinux.cpp
lldb/trunk/source/Target/Process.cpp
Index: lldb/trunk/source/Target/Process.cpp
===================================================================
--- lldb/trunk/source/Target/Process.cpp
+++ lldb/trunk/source/Target/Process.cpp
@@ -1011,6 +1011,10 @@
if (log)
log->Printf("Process::%s returning without waiting for events;
process private and public states are already 'stopped'.",
__FUNCTION__);
+ // We need to toggle the run lock as this won't get done in
+ // SetPublicState() if the process is hijacked.
+ if (hijack_listener)
+ m_public_run_lock.SetStopped();
return state;
}
Index: lldb/trunk/source/Plugins/Platform/Linux/PlatformLinux.cpp
===================================================================
--- lldb/trunk/source/Plugins/Platform/Linux/PlatformLinux.cpp
+++ lldb/trunk/source/Plugins/Platform/Linux/PlatformLinux.cpp
@@ -765,7 +765,6 @@
// Adjust launch for a hijacker.
ListenerSP listener_sp;
-#if 0
if (!launch_info.GetHijackListener ())
{
if (log)
@@ -775,7 +774,6 @@
launch_info.SetHijackListener (listener_sp);
process_sp->HijackProcessEvents (listener_sp.get ());
}
-#endif
// Log file actions.
if (log)
@@ -801,7 +799,6 @@
if (listener_sp)
{
const StateType state = process_sp->WaitForProcessToStop (NULL,
NULL, false, listener_sp.get());
- process_sp->RestoreProcessEvents();
if (state == eStateStopped)
{
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
Index: lldb/trunk/source/Target/Process.cpp
===================================================================
--- lldb/trunk/source/Target/Process.cpp
+++ lldb/trunk/source/Target/Process.cpp
@@ -1011,6 +1011,10 @@
if (log)
log->Printf("Process::%s returning without waiting for events; process private and public states are already 'stopped'.",
__FUNCTION__);
+ // We need to toggle the run lock as this won't get done in
+ // SetPublicState() if the process is hijacked.
+ if (hijack_listener)
+ m_public_run_lock.SetStopped();
return state;
}
Index: lldb/trunk/source/Plugins/Platform/Linux/PlatformLinux.cpp
===================================================================
--- lldb/trunk/source/Plugins/Platform/Linux/PlatformLinux.cpp
+++ lldb/trunk/source/Plugins/Platform/Linux/PlatformLinux.cpp
@@ -765,7 +765,6 @@
// Adjust launch for a hijacker.
ListenerSP listener_sp;
-#if 0
if (!launch_info.GetHijackListener ())
{
if (log)
@@ -775,7 +774,6 @@
launch_info.SetHijackListener (listener_sp);
process_sp->HijackProcessEvents (listener_sp.get ());
}
-#endif
// Log file actions.
if (log)
@@ -801,7 +799,6 @@
if (listener_sp)
{
const StateType state = process_sp->WaitForProcessToStop (NULL, NULL, false, listener_sp.get());
- process_sp->RestoreProcessEvents();
if (state == eStateStopped)
{
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits