remove use of Mutex in favour of std::{,recursive_}mutex

This is a pretty straightforward first pass over removing a number of uses of
Mutex in favor of std::mutex or std::recursive_mutex. The problem is that there
are interfaces which take Mutex::Locker & to lock internal locks. This patch
cleans up most of the easy cases. The only non-trivial change is in
CommandObjectTarget.cpp where a Mutex::Locker was split into two.

llvm-svn: 269877
diff --git a/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp b/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
index 266e461..85ad012 100644
--- a/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
+++ b/lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
@@ -103,12 +103,12 @@
 }                                                                                                               \n\
 ";
 
-AppleGetThreadItemInfoHandler::AppleGetThreadItemInfoHandler (Process *process) :
-    m_process (process),
-    m_get_thread_item_info_impl_code (),
-    m_get_thread_item_info_function_mutex(),
-    m_get_thread_item_info_return_buffer_addr (LLDB_INVALID_ADDRESS),
-    m_get_thread_item_info_retbuffer_mutex()
+AppleGetThreadItemInfoHandler::AppleGetThreadItemInfoHandler(Process *process)
+    : m_process(process),
+      m_get_thread_item_info_impl_code(),
+      m_get_thread_item_info_function_mutex(),
+      m_get_thread_item_info_return_buffer_addr(LLDB_INVALID_ADDRESS),
+      m_get_thread_item_info_retbuffer_mutex()
 {
 }
 
@@ -117,14 +117,14 @@
 }
 
 void
-AppleGetThreadItemInfoHandler::Detach ()
+AppleGetThreadItemInfoHandler::Detach()
 {
 
     if (m_process && m_process->IsAlive() && m_get_thread_item_info_return_buffer_addr != LLDB_INVALID_ADDRESS)
     {
-        Mutex::Locker locker;
-        locker.TryLock (m_get_thread_item_info_retbuffer_mutex);  // Even if we don't get the lock, deallocate the buffer
-        m_process->DeallocateMemory (m_get_thread_item_info_return_buffer_addr);
+        std::unique_lock<std::mutex> lock(m_get_thread_item_info_retbuffer_mutex, std::defer_lock);
+        lock.try_lock(); // Even if we don't get the lock, deallocate the buffer
+        m_process->DeallocateMemory(m_get_thread_item_info_return_buffer_addr);
     }
 }
 
@@ -152,8 +152,8 @@
 
     // Scope for mutex locker:
     {
-        Mutex::Locker locker(m_get_thread_item_info_function_mutex);
-        
+        std::lock_guard<std::mutex> guard(m_get_thread_item_info_function_mutex);
+
         // First stage is to make the ClangUtility to hold our injected function:
 
         if (!m_get_thread_item_info_impl_code.get())
@@ -300,8 +300,7 @@
     page_to_free_size_value.SetValueType (Value::eValueTypeScalar);
     page_to_free_size_value.SetCompilerType (clang_uint64_type);
 
-
-    Mutex::Locker locker(m_get_thread_item_info_retbuffer_mutex);
+    std::lock_guard<std::mutex> guard(m_get_thread_item_info_retbuffer_mutex);
     if (m_get_thread_item_info_return_buffer_addr == LLDB_INVALID_ADDRESS)
     {
         addr_t bufaddr = process_sp->AllocateMemory (32, ePermissionsReadable | ePermissionsWritable, error);