| Index: src/plugin/PluginMutex.cpp |
| =================================================================== |
| --- a/src/plugin/PluginMutex.cpp |
| +++ b/src/plugin/PluginMutex.cpp |
| @@ -5,29 +5,28 @@ |
| #include "sddl.h" |
| -CPluginMutex::CPluginMutex(const CString& name, int errorSubidBase) : m_isLocked(false), m_errorSubidBase(errorSubidBase), m_name(name) |
| +CPluginMutex::CPluginMutex(const std::wstring & name, int errorSubidBase) |
| + : m_isLocked(false), m_errorSubidBase(errorSubidBase), mutex_name( L"Global\\AdblockPlus" + name ) |
| { |
| if (m_errorSubidBase != PLUGIN_ERROR_MUTEX_DEBUG_FILE) |
| { |
| - DEBUG_MUTEX("Mutex::Create name:" + name) |
| + DEBUG_MUTEX( "Mutex::Create name:" + mutex_name ) |
| } |
| - |
| - m_hMutex = ::CreateMutex(NULL, FALSE, "Global\\AdblockPlus" + name); |
| - |
| + m_hMutex = ::CreateMutexW( NULL, FALSE, mutex_name.c_str() ); |
| if (m_hMutex == NULL) |
| { |
| DWORD error = GetLastError(); |
| - m_hMutex = OpenMutex(MUTEX_ALL_ACCESS, FALSE, "Global\\AdblockPlus" + name); |
| + m_hMutex = OpenMutexW( MUTEX_ALL_ACCESS, FALSE, mutex_name.c_str() ); |
| if (m_hMutex == NULL) |
| { |
| - m_hMutex = ::CreateMutex(NULL, FALSE, "Local\\AdblockPlus" + name); |
| + m_hMutex = ::CreateMutexW( NULL, FALSE, mutex_name.c_str() ); |
|
Oleksandr
2014/06/26 00:48:43
We should try to open a mutex in Local namespace i
Eric
2014/06/26 15:13:56
This a defect I introduced. I don't think I notice
|
| if (m_hMutex == NULL) |
| { |
| - m_hMutex = OpenMutex(NULL, FALSE, "Local\\AdblockPlus" + name); |
| + m_hMutex = OpenMutexW( NULL, FALSE, mutex_name.c_str() ); |
| if (m_hMutex == NULL) |
| { |
| DWORD error = GetLastError(); |
| - DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_CREATE + m_errorSubidBase, "Mutex::CreateMutex"); |
| + DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_CREATE + m_errorSubidBase, L"Mutex::CreateMutex"); |
| } |
| } |
| else |
| @@ -40,12 +39,12 @@ |
| break; |
| case WAIT_TIMEOUT: |
| - DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_WAIT_TIMEOUT + m_errorSubidBase, "Mutex::CreateMutex - Timeout"); |
| + DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_WAIT_TIMEOUT + m_errorSubidBase, L"Mutex::CreateMutex - Timeout"); |
| m_hMutex = NULL; |
| break; |
| case WAIT_FAILED: |
| - DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_WAIT + m_errorSubidBase, "Mutex::CreateMutex - Wait error"); |
| + DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_WAIT + m_errorSubidBase, L"Mutex::CreateMutex - Wait error"); |
| break; |
| } |
| } |
| @@ -62,12 +61,12 @@ |
| break; |
| case WAIT_TIMEOUT: |
| - DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_WAIT_TIMEOUT + m_errorSubidBase, "Mutex::CreateMutex - Timeout"); |
| + DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_WAIT_TIMEOUT + m_errorSubidBase, L"Mutex::CreateMutex - Timeout"); |
| m_hMutex = NULL; |
| break; |
| case WAIT_FAILED: |
| - DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_WAIT + m_errorSubidBase, "Mutex::CreateMutex - Wait error"); |
| + DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_WAIT + m_errorSubidBase, L"Mutex::CreateMutex - Wait error"); |
| break; |
| } |
| } |
| @@ -77,7 +76,7 @@ |
| { |
| if (m_errorSubidBase != PLUGIN_ERROR_MUTEX_DEBUG_FILE) |
| { |
| - DEBUG_MUTEX("Mutex::Release name:" + m_name) |
| + DEBUG_MUTEX("Mutex::Release name:" + mutex_name) |
| } |
| if (m_isLocked) |
| @@ -89,7 +88,7 @@ |
| { |
| if (!::ReleaseMutex(m_hMutex)) |
| { |
| - DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_RELEASE + m_errorSubidBase, "Mutex::ReleaseMutex"); |
| + DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_MUTEX, PLUGIN_ERROR_MUTEX_RELEASE + m_errorSubidBase, L"Mutex::ReleaseMutex"); |
| } |
| } |