diff options
author | Jim Ingham <jingham@apple.com> | 2013-05-02 00:27:30 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2013-05-02 00:27:30 +0000 |
commit | acff8950158125374cde999738dac3b6b8348ff4 (patch) | |
tree | 8fa60ab21baab12386726b23df12677181aa22f1 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | |
parent | ae4a5567e118a7819f990dad475e3297654bb9f3 (diff) | |
download | bcm5719-llvm-acff8950158125374cde999738dac3b6b8348ff4.tar.gz bcm5719-llvm-acff8950158125374cde999738dac3b6b8348ff4.zip |
Recommitting r180831 with trivial fix - remember to return errors if you compute.
llvm-svn: 180898
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp index 1b4627adc55..06e15ab1f40 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -1696,25 +1696,29 @@ ProcessGDBRemote::DoHalt (bool &caused_stop) } Error -ProcessGDBRemote::DoDetach() +ProcessGDBRemote::DoDetach(bool keep_stopped) { Error error; Log *log (ProcessGDBRemoteLog::GetLogIfAllCategoriesSet(GDBR_LOG_PROCESS)); if (log) - log->Printf ("ProcessGDBRemote::DoDetach()"); - + log->Printf ("ProcessGDBRemote::DoDetach(keep_stopped: %i)", keep_stopped); + DisableAllBreakpointSites (); m_thread_list.DiscardThreadPlans(); - bool success = m_gdb_comm.Detach (); + error = m_gdb_comm.Detach (keep_stopped); if (log) { - if (success) + if (error.Success()) log->PutCString ("ProcessGDBRemote::DoDetach() detach packet sent successfully"); else - log->PutCString ("ProcessGDBRemote::DoDetach() detach packet send failed"); + log->Printf ("ProcessGDBRemote::DoDetach() detach packet send failed: %s", error.AsCString() ? error.AsCString() : "<unknown error>"); } + + if (!error.Success()) + return error; + // Sleep for one second to let the process get all detached... StopAsyncThread (); |