second pass over removal of Mutex and Condition

llvm-svn: 270024
diff --git a/lldb/source/Interpreter/CommandObject.cpp b/lldb/source/Interpreter/CommandObject.cpp
index fed19d7..0a45282 100644
--- a/lldb/source/Interpreter/CommandObject.cpp
+++ b/lldb/source/Interpreter/CommandObject.cpp
@@ -276,7 +276,7 @@
         {
             Target *target = m_exe_ctx.GetTargetPtr();
             if (target)
-                m_api_locker.Lock (target->GetAPIMutex());
+                m_api_locker = std::unique_lock<std::recursive_mutex>(target->GetAPIMutex());
         }
     }
 
@@ -336,7 +336,8 @@
 CommandObject::Cleanup ()
 {
     m_exe_ctx.Clear();
-    m_api_locker.Unlock();
+    if (m_api_locker.owns_lock())
+        m_api_locker.unlock();
 }
 
 int