Fix mutex unlock
authorIgor Kulaychuk <i.kulaychuk@samsung.com>
Wed, 22 Aug 2018 14:48:45 +0000 (17:48 +0300)
committerIgor Kulaychuk <i.kulaychuk@samsung.com>
Fri, 24 Aug 2018 15:36:22 +0000 (18:36 +0300)
src/debug/netcoredbg/manageddebugger.cpp

index 52658b58abd3a479adb0331cf2c63bc3965ac483..f72234b3109c1dd3419c9f3bd03237c3c4a81b79 100644 (file)
@@ -91,9 +91,9 @@ void ManagedDebugger::NotifyProcessCreated()
 
 void ManagedDebugger::NotifyProcessExited()
 {
-    std::lock_guard<std::mutex> lock(m_processAttachedMutex);
+    std::unique_lock<std::mutex> lock(m_processAttachedMutex);
     m_processAttachedState = ProcessUnattached;
-    m_processAttachedMutex.unlock();
+    lock.unlock();
     m_processAttachedCV.notify_one();
 }
 
@@ -1136,10 +1136,10 @@ HRESULT ManagedDebugger::CheckNoProcess()
 {
     if (m_pProcess || m_pDebug)
     {
-        std::lock_guard<std::mutex> lock(m_processAttachedMutex);
+        std::unique_lock<std::mutex> lock(m_processAttachedMutex);
         if (m_processAttachedState == ProcessAttached)
             return E_FAIL; // Already attached
-        m_processAttachedMutex.unlock();
+        lock.unlock();
 
         TerminateProcess();
     }