Reverting 180831 as it crashes TestDefaultConstructorForAPIObjects.py
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180868 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
index 6657c2c..9351b93 100644
--- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
@@ -52,7 +52,6 @@
m_supports_alloc_dealloc_memory (eLazyBoolCalculate),
m_supports_memory_region_info (eLazyBoolCalculate),
m_supports_watchpoint_support_info (eLazyBoolCalculate),
- m_supports_detach_stay_stopped (eLazyBoolCalculate),
m_watchpoints_trigger_after_instruction(eLazyBoolCalculate),
m_attach_or_wait_reply(eLazyBoolCalculate),
m_prepare_for_reg_writing_reply (eLazyBoolCalculate),
@@ -1397,48 +1396,10 @@
return false;
}
-Error
-GDBRemoteCommunicationClient::Detach (bool keep_stopped)
+bool
+GDBRemoteCommunicationClient::Detach ()
{
- Error error;
-
- if (keep_stopped)
- {
- if (m_supports_detach_stay_stopped == eLazyBoolCalculate)
- {
- char packet[64];
- const int packet_len = ::snprintf(packet, sizeof(packet), "qSupportsDetachAndStayStopped:");
- assert (packet_len < sizeof(packet));
- StringExtractorGDBRemote response;
- if (SendPacketAndWaitForResponse (packet, packet_len, response, false))
- {
- m_supports_detach_stay_stopped = eLazyBoolYes;
- }
- else
- {
- m_supports_detach_stay_stopped = eLazyBoolNo;
- }
- }
-
- if (m_supports_detach_stay_stopped == eLazyBoolNo)
- {
- error.SetErrorString("Stays stopped not supported by this target.");
- return error;
- }
- else
- {
- size_t num_sent = SendPacket ("D1", 2);
- if (num_sent == 0)
- error.SetErrorString ("Sending extended disconnect packet failed.");
- }
- }
- else
- {
- size_t num_sent = SendPacket ("D", 1);
- if (num_sent == 0)
- error.SetErrorString ("Sending disconnect packet failed.");
- }
- return error;
+ return SendPacket ("D", 1) > 0;
}
Error
diff --git a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
index 4075eeb..25b697d 100644
--- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
+++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
@@ -199,8 +199,8 @@
bool
DeallocateMemory (lldb::addr_t addr);
- lldb_private::Error
- Detach (bool keep_stopped);
+ bool
+ Detach ();
lldb_private::Error
GetMemoryRegionInfo (lldb::addr_t addr,
@@ -381,7 +381,6 @@
lldb_private::LazyBool m_supports_alloc_dealloc_memory;
lldb_private::LazyBool m_supports_memory_region_info;
lldb_private::LazyBool m_supports_watchpoint_support_info;
- lldb_private::LazyBool m_supports_detach_stay_stopped;
lldb_private::LazyBool m_watchpoints_trigger_after_instruction;
lldb_private::LazyBool m_attach_or_wait_reply;
lldb_private::LazyBool m_prepare_for_reg_writing_reply;
diff --git a/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index aa27ae8..35e455d 100644
--- a/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -1703,29 +1703,25 @@
}
Error
-ProcessGDBRemote::DoDetach(bool keep_stopped)
+ProcessGDBRemote::DoDetach()
{
Error error;
Log *log (ProcessGDBRemoteLog::GetLogIfAllCategoriesSet(GDBR_LOG_PROCESS));
if (log)
- log->Printf ("ProcessGDBRemote::DoDetach(keep_stopped: %i)", keep_stopped);
-
+ log->Printf ("ProcessGDBRemote::DoDetach()");
+
DisableAllBreakpointSites ();
m_thread_list.DiscardThreadPlans();
- error = m_gdb_comm.Detach (keep_stopped);
+ bool success = m_gdb_comm.Detach ();
if (log)
{
- if (error.Success())
+ if (success)
log->PutCString ("ProcessGDBRemote::DoDetach() detach packet sent successfully");
else
- log->Printf ("ProcessGDBRemote::DoDetach() detach packet send failed: %s", error.AsCString() ? error.AsCString() : "<unknown error>");
+ log->PutCString ("ProcessGDBRemote::DoDetach() detach packet send failed");
}
-
- if (!error.Success())
- return error;
-
// Sleep for one second to let the process get all detached...
StopAsyncThread ();
diff --git a/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h b/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
index 5cbb13f..dc4ec56 100644
--- a/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+++ b/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
@@ -141,7 +141,7 @@
DoHalt (bool &caused_stop);
virtual lldb_private::Error
- DoDetach (bool keep_stopped);
+ DoDetach ();
virtual bool
DetachRequiresHalt() { return true; }