Fixed an issue that could happen during global object destruction in our
map that tracks all live Module classes. We must leak our mutex for our
collection class as it might be destroyed in an order we can't control.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149131 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectTarget.cpp b/source/Commands/CommandObjectTarget.cpp
index 29f5b9f..8b0fd17 100644
--- a/source/Commands/CommandObjectTarget.cpp
+++ b/source/Commands/CommandObjectTarget.cpp
@@ -1632,7 +1632,7 @@
     if (check_global_list && num_matches == 0)
     {
         // Check the global list
-        Mutex::Locker locker(Module::GetAllocationModuleCollectionMutex().GetMutex());
+        Mutex::Locker locker(Module::GetAllocationModuleCollectionMutex());
         const uint32_t num_modules = Module::GetNumberAllocatedModules();
         ModuleSP module_sp;
         for (uint32_t image_idx = 0; image_idx<num_modules; ++image_idx)
@@ -2051,7 +2051,7 @@
                     else
                     {
                         // Check the global list
-                        Mutex::Locker locker(Module::GetAllocationModuleCollectionMutex().GetMutex());
+                        Mutex::Locker locker(Module::GetAllocationModuleCollectionMutex());
 
                         result.AppendWarningWithFormat("Unable to find an image that matches '%s'.\n", arg_cstr);
                     }
@@ -2785,7 +2785,7 @@
             
             if (use_global_module_list)
             {
-                locker.Reset (Module::GetAllocationModuleCollectionMutex().GetMutex());
+                locker.Reset (Module::GetAllocationModuleCollectionMutex()->GetMutex());
                 num_modules = Module::GetNumberAllocatedModules();
             }
             else