No functionality changes, mostly cleanup.
Cleaned up the Mutex::Locker and the ReadWriteLock classes a bit.
Also cleaned up the GDBRemoteCommunication class to not have so many packet functions. Used the "NoLock" versions of send/receive packet functions when possible for a bit of performance.
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154458 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
index 3fc9729..3f8677d 100644
--- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
+++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
@@ -85,7 +85,7 @@
bool &quit)
{
StringExtractorGDBRemote packet;
- if (WaitForPacketWithTimeoutMicroSeconds(packet, timeout_usec))
+ if (WaitForPacketWithTimeoutMicroSecondsNoLock (packet, timeout_usec))
{
const StringExtractorGDBRemote::ServerPacketType packet_type = packet.GetServerPacketType ();
switch (packet_type)
@@ -178,7 +178,7 @@
GDBRemoteCommunicationServer::SendUnimplementedResponse (const char *)
{
// TODO: Log the packet we aren't handling...
- return SendPacket ("");
+ return SendPacketNoLock ("", 0);
}
size_t
@@ -187,14 +187,14 @@
char packet[16];
int packet_len = ::snprintf (packet, sizeof(packet), "E%2.2x", err);
assert (packet_len < sizeof(packet));
- return SendPacket (packet, packet_len);
+ return SendPacketNoLock (packet, packet_len);
}
size_t
GDBRemoteCommunicationServer::SendOKResponse ()
{
- return SendPacket ("OK");
+ return SendPacketNoLock ("OK", 2);
}
bool
@@ -269,7 +269,7 @@
response.PutChar(';');
}
- return SendPacket (response) > 0;
+ return SendPacketNoLock (response.GetData(), response.GetSize()) > 0;
}
static void
@@ -308,7 +308,7 @@
{
StreamString response;
CreateProcessInfoResponse (proc_info, response);
- return SendPacket (response);
+ return SendPacketNoLock (response.GetData(), response.GetSize());
}
}
return SendErrorResponse (1);
@@ -423,7 +423,7 @@
StreamString response;
CreateProcessInfoResponse (m_proc_infos.GetProcessInfoAtIndex(m_proc_infos_index), response);
++m_proc_infos_index;
- return SendPacket (response);
+ return SendPacketNoLock (response.GetData(), response.GetSize());
}
return SendErrorResponse (4);
}
@@ -441,7 +441,7 @@
{
StreamString response;
response.PutCStringAsRawHex8 (name.c_str());
- return SendPacket (response);
+ return SendPacketNoLock (response.GetData(), response.GetSize());
}
}
return SendErrorResponse (5);
@@ -461,7 +461,7 @@
{
StreamString response;
response.PutCStringAsRawHex8 (name.c_str());
- return SendPacket (response);
+ return SendPacketNoLock (response.GetData(), response.GetSize());
}
}
return SendErrorResponse (6);
@@ -498,7 +498,7 @@
bytes_left = 0;
}
}
- return SendPacket (response);
+ return SendPacketNoLock (response.GetData(), response.GetSize());
}
}
return SendErrorResponse (7);
@@ -657,7 +657,7 @@
m_process_launch_info.Clear();
}
}
- return SendPacket (response);
+ return SendPacketNoLock (response.GetData(), response.GetSize());
}
bool
@@ -710,7 +710,7 @@
const int response_len = ::snprintf (response, sizeof(response), "pid:%llu;port:%u;", debugserver_pid, port);
assert (response_len < sizeof(response));
//m_port_to_pid_map[port] = debugserver_launch_info.GetProcessID();
- success = SendPacket (response, response_len) > 0;
+ success = SendPacketNoLock (response, response_len) > 0;
}
}
::unlink (unix_socket_name);
@@ -736,7 +736,7 @@
StreamString response;
response.PutChar('E');
response.PutCString(m_process_launch_error.AsCString("<unknown error>"));
- return SendPacket (response);
+ return SendPacketNoLock (response.GetData(), response.GetSize());
}
bool