From 21f42fafb7f6d5a7dd696d83c1892bf5326ff05f Mon Sep 17 00:00:00 2001 From: S David <2100425+s-daveb@users.noreply.github.com> Date: Sun, 22 Dec 2019 00:32:17 -0500 Subject: MacOS: Fixes configuration hang; bump MacOS SDK. Removed conditional use of std::mutex instead of std::shared_mutex on MacOS. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Because MacOS < 10.12 did not support std::shared_mutex, a previous commit naïvely substituted std::mutex, which does not have the same behavior. Reverses PR #8273, which substitues std::mutex for std::shared_mutex on macOS, and results in several bugs that seem to only affect MacOS - https://bugs.dolphin-emu.org/issues/11919 - https://bugs.dolphin-emu.org/issues/11842 - https://bugs.dolphin-emu.org/issues/11845 This change eliminates conditional code for MacOS in the core configuration layer code and enables the use of modern language features that are more secure and thread-safe. --- Source/Core/Common/Config/Config.cpp | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'Source/Core/Common/Config/Config.cpp') diff --git a/Source/Core/Common/Config/Config.cpp b/Source/Core/Common/Config/Config.cpp index b65b1d6fad..0dbcb1d9d9 100644 --- a/Source/Core/Common/Config/Config.cpp +++ b/Source/Core/Common/Config/Config.cpp @@ -5,11 +5,7 @@ #include #include #include -#if __APPLE__ -#include -#else #include -#endif #include "Common/Config/Config.h" @@ -21,19 +17,10 @@ static Layers s_layers; static std::list s_callbacks; static u32 s_callback_guards = 0; -// Mac supports shared_mutex since 10.12 and we're targeting 10.10, -// so only use unique locks there... -#if __APPLE__ -static std::mutex s_layers_rw_lock; - -using ReadLock = std::unique_lock; -using WriteLock = std::unique_lock; -#else static std::shared_mutex s_layers_rw_lock; using ReadLock = std::shared_lock; using WriteLock = std::unique_lock; -#endif void AddLayerInternal(std::shared_ptr layer) { -- cgit v1.2.3