https://github.com/JDevlieghere created https://github.com/llvm/llvm-project/pull/137547
The debugserver code predates modern C++, but with C++11 and later there's no need to have something like PThreadMutex. This migrates RNBRemote away from PThreadMutex in preparation for removing it. >From 10a1f5b8f615f502a92e23a39e233265cca6d8ba Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere <jo...@devlieghere.com> Date: Sun, 27 Apr 2025 13:39:07 -0700 Subject: [PATCH] [debugserver] Migrate RNBRemote away from PThreadMutex (NFC) The debugserver code predates modern C++, but with C++11 and later there's no need to have something like PThreadMutex. This migrates RNBRemote away from PThreadMutex in preparation for removing it. --- lldb/tools/debugserver/source/RNBRemote.cpp | 4 ++-- lldb/tools/debugserver/source/RNBRemote.h | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lldb/tools/debugserver/source/RNBRemote.cpp b/lldb/tools/debugserver/source/RNBRemote.cpp index eb7c5ca32c02a..e0831023e7ae4 100644 --- a/lldb/tools/debugserver/source/RNBRemote.cpp +++ b/lldb/tools/debugserver/source/RNBRemote.cpp @@ -820,7 +820,7 @@ rnb_err_t RNBRemote::GetPacketPayload(std::string &return_packet) { // (uint32_t)m_comm.Timer().ElapsedMicroSeconds(true), __FUNCTION__); { - PThreadMutex::Locker locker(m_mutex); + std::lock_guard<std::mutex> guard(m_mutex); if (m_rx_packets.empty()) { // Only reset the remote command available event if we have no more // packets @@ -1052,7 +1052,7 @@ void RNBRemote::CommDataReceived(const std::string &new_data) { // (uint32_t)m_comm.Timer().ElapsedMicroSeconds(true), __FUNCTION__); // Put the packet data into the buffer in a thread safe fashion - PThreadMutex::Locker locker(m_mutex); + std::lock_guard<std::mutex> guard(m_mutex); std::string data; // See if we have any left over data from a previous call to this diff --git a/lldb/tools/debugserver/source/RNBRemote.h b/lldb/tools/debugserver/source/RNBRemote.h index c552713551013..ad254ae90e2f7 100644 --- a/lldb/tools/debugserver/source/RNBRemote.h +++ b/lldb/tools/debugserver/source/RNBRemote.h @@ -14,7 +14,6 @@ #define LLDB_TOOLS_DEBUGSERVER_SOURCE_RNBREMOTE_H #include "DNB.h" -#include "PThreadMutex.h" #include "RNBContext.h" #include "RNBDefs.h" #include "RNBSocket.h" @@ -25,7 +24,6 @@ class RNBSocket; class RNBContext; -class PThreadEvents; enum event_loop_mode { debug_nub, gdb_remote_protocol, done }; @@ -379,7 +377,7 @@ class RNBRemote { std::string m_arch; nub_thread_t m_continue_thread; // thread to continue; 0 for any, -1 for all nub_thread_t m_thread; // thread for other ops; 0 for any, -1 for all - PThreadMutex m_mutex; // Mutex that protects + std::mutex m_mutex; // Mutex that protects DispatchQueueOffsets m_dispatch_queue_offsets; nub_addr_t m_dispatch_queue_offsets_addr; uint32_t m_qSymbol_index; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits