diff options
author | lat9nq <lat9nq@gmail.com> | 2022-04-02 00:57:40 +0200 |
---|---|---|
committer | lat9nq <lat9nq@gmail.com> | 2022-04-04 03:47:58 +0200 |
commit | 6bcbbb29e7822f5ebd6ac985066dfdd0890492f0 (patch) | |
tree | d903d0ab561c399600819b81e0b5823044ad7922 /src | |
parent | k_process: Fix data race (diff) | |
download | yuzu-6bcbbb29e7822f5ebd6ac985066dfdd0890492f0.tar yuzu-6bcbbb29e7822f5ebd6ac985066dfdd0890492f0.tar.gz yuzu-6bcbbb29e7822f5ebd6ac985066dfdd0890492f0.tar.bz2 yuzu-6bcbbb29e7822f5ebd6ac985066dfdd0890492f0.tar.lz yuzu-6bcbbb29e7822f5ebd6ac985066dfdd0890492f0.tar.xz yuzu-6bcbbb29e7822f5ebd6ac985066dfdd0890492f0.tar.zst yuzu-6bcbbb29e7822f5ebd6ac985066dfdd0890492f0.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/k_thread.cpp | 4 | ||||
-rw-r--r-- | src/core/hle/kernel/k_thread.h | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/core/hle/kernel/k_thread.cpp b/src/core/hle/kernel/k_thread.cpp index 94c8faf68..d3bb1c871 100644 --- a/src/core/hle/kernel/k_thread.cpp +++ b/src/core/hle/kernel/k_thread.cpp @@ -723,7 +723,7 @@ void KThread::UpdateState() { ASSERT(kernel.GlobalSchedulerContext().IsLocked()); // Set our suspend flags in state. - const auto old_state = thread_state; + const ThreadState old_state = thread_state; const auto new_state = static_cast<ThreadState>(this->GetSuspendFlags()) | (old_state & ThreadState::Mask); thread_state = new_state; @@ -738,7 +738,7 @@ void KThread::Continue() { ASSERT(kernel.GlobalSchedulerContext().IsLocked()); // Clear our suspend flags in state. - const auto old_state = thread_state; + const ThreadState old_state = thread_state; thread_state = old_state & ThreadState::Mask; // Note the state change in scheduler. diff --git a/src/core/hle/kernel/k_thread.h b/src/core/hle/kernel/k_thread.h index f46db7298..d0fd85130 100644 --- a/src/core/hle/kernel/k_thread.h +++ b/src/core/hle/kernel/k_thread.h @@ -5,6 +5,7 @@ #pragma once #include <array> +#include <atomic> #include <span> #include <string> #include <utility> @@ -751,7 +752,7 @@ private: KAffinityMask original_physical_affinity_mask{}; s32 original_physical_ideal_core_id{}; s32 num_core_migration_disables{}; - ThreadState thread_state{}; + std::atomic<ThreadState> thread_state{}; std::atomic<bool> termination_requested{}; bool wait_cancelled{}; bool cancellable{}; |