diff options
Diffstat (limited to 'lldb/source/Plugins/Process/MacOSX-Kernel')
| -rw-r--r-- | lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp | 10 | ||||
| -rw-r--r-- | lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp index 9e4cc568af5..f9b1055644b 100644 --- a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp +++ b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp @@ -507,12 +507,12 @@ ProcessKDP::DoHalt (bool &caused_stop) } Error -ProcessKDP::DoDetach() +ProcessKDP::DoDetach(bool keep_stopped) { Error error; Log *log (ProcessKDPLog::GetLogIfAllCategoriesSet(KDP_LOG_PROCESS)); if (log) - log->Printf ("ProcessKDP::DoDetach()"); + log->Printf ("ProcessKDP::DoDetach(keep_stopped = %i)", keep_stopped); if (m_comm.IsRunning()) { @@ -525,7 +525,8 @@ ProcessKDP::DoDetach() m_thread_list.DiscardThreadPlans(); - if (m_comm.IsConnected()) + // If we are going to keep the target stopped, then don't send the disconnect message. + if (!keep_stopped && m_comm.IsConnected()) { m_comm.SendRequestDisconnect(); @@ -554,7 +555,8 @@ Error ProcessKDP::DoDestroy () { // For KDP there really is no difference between destroy and detach - return DoDetach(); + bool keep_stopped = false; + return DoDetach(keep_stopped); } //------------------------------------------------------------------ diff --git a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h index fba221ea5ed..9de262322ae 100644 --- a/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h +++ b/lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h @@ -135,7 +135,7 @@ public: DoHalt (bool &caused_stop); virtual lldb_private::Error - DoDetach (); + DoDetach (bool keep_stopped); virtual lldb_private::Error DoSignal (int signal); |

