diff options
author | Fernando Sahmkow <[email protected]> | 2020-03-10 11:50:33 -0400 |
---|---|---|
committer | Fernando Sahmkow <[email protected]> | 2020-06-27 11:35:43 -0400 |
commit | a439cdf22ea50f0e39cb51f6dff15fee3b495d16 (patch) | |
tree | 2c88310d7cca08ef451107d9ae6bd5191e7d72e5 /src/core/cpu_manager.h | |
parent | 8a78fc25802b8f69d073b703728a3501c98bf5e8 (diff) | |
download | yuzu-android-a439cdf22ea50f0e39cb51f6dff15fee3b495d16.tar.gz yuzu-android-a439cdf22ea50f0e39cb51f6dff15fee3b495d16.zip |
CPU_Manager: Unload/Reload threads on preemption on SingleCore
Diffstat (limited to 'src/core/cpu_manager.h')
-rw-r--r-- | src/core/cpu_manager.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/core/cpu_manager.h b/src/core/cpu_manager.h index 1e81481ec..ff1935d5c 100644 --- a/src/core/cpu_manager.h +++ b/src/core/cpu_manager.h @@ -5,6 +5,7 @@ #pragma once #include <array> +#include <atomic> #include <functional> #include <memory> #include <thread> @@ -45,7 +46,7 @@ public: void* GetStartFuncParamater(); std::size_t CurrentCore() const { - return current_core; + return current_core.load(); } private: @@ -88,7 +89,7 @@ private: std::array<CoreData, Core::Hardware::NUM_CPU_CORES> core_data{}; bool is_multicore{}; - std::size_t current_core{}; + std::atomic<std::size_t> current_core{}; std::size_t preemption_count{}; static constexpr std::size_t max_cycle_runs = 5; |