From e889ad65ccc07708af91cc17038604ddd3326aa0 Mon Sep 17 00:00:00 2001 From: Greg Clayton Date: Thu, 27 Oct 2011 22:04:16 +0000 Subject: Fixed an issue where async packets were incurring a delay even though they were sent correctly. We now properly broadcast the private run state being resumed correctly. Also fixed logging to reflect what is happening. llvm-svn: 143154 --- .../Process/gdb-remote/GDBRemoteCommunicationClient.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'lldb/source/Plugins/Process/gdb-remote') diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp index 1f2ad798131..85f56dd3ffb 100644 --- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp @@ -289,6 +289,16 @@ GDBRemoteCommunicationClient::SendPacketAndWaitForResponse // Make sure we wait until the continue packet has been sent again... if (m_private_is_running.WaitForValueEqualTo (true, &timeout_time, &timed_out)) + { + if (log) + { + if (timed_out) + log->Printf ("async: timed out waiting for process to resume, but process was resumed"); + else + log->Printf ("async: async packet sent"); + } + } + else { if (log) log->Printf ("async: timed out waiting for process to resume"); @@ -379,7 +389,7 @@ GDBRemoteCommunicationClient::SendContinuePacketAndWaitForResponse if (SendPacket(continue_packet.c_str(), continue_packet.size()) == 0) state = eStateInvalid; - m_private_is_running.SetValue (true, eBroadcastNever); + m_private_is_running.SetValue (true, eBroadcastAlways); } got_stdout = false; -- cgit v1.2.3