diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-02-25 18:22:11 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-06-27 17:35:12 +0200 |
commit | 589f9cf108d306e8265ff4856b522cd32fbc121f (patch) | |
tree | d9e78acb03901cdbbc3f7649b03048f7cd946f06 /src/core/hle/kernel/thread.cpp | |
parent | SVC: Correct CreateThread, StartThread, ExitThread, SleepThread. (diff) | |
download | yuzu-589f9cf108d306e8265ff4856b522cd32fbc121f.tar yuzu-589f9cf108d306e8265ff4856b522cd32fbc121f.tar.gz yuzu-589f9cf108d306e8265ff4856b522cd32fbc121f.tar.bz2 yuzu-589f9cf108d306e8265ff4856b522cd32fbc121f.tar.lz yuzu-589f9cf108d306e8265ff4856b522cd32fbc121f.tar.xz yuzu-589f9cf108d306e8265ff4856b522cd32fbc121f.tar.zst yuzu-589f9cf108d306e8265ff4856b522cd32fbc121f.zip |
Diffstat (limited to 'src/core/hle/kernel/thread.cpp')
-rw-r--r-- | src/core/hle/kernel/thread.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index d9e610272..e6bb7c666 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -250,6 +250,7 @@ ResultVal<std::shared_ptr<Thread>> Thread::Create(Core::System& system, ThreadTy } void Thread::SetPriority(u32 priority) { + SchedulerLock lock(kernel); ASSERT_MSG(priority <= THREADPRIO_LOWEST && priority >= THREADPRIO_HIGHEST, "Invalid priority value."); nominal_priority = priority; @@ -383,10 +384,6 @@ void Thread::UpdatePriority() { lock_owner->UpdatePriority(); } -void Thread::ChangeCore(u32 core, u64 mask) { - SetCoreAndAffinityMask(core, mask); -} - bool Thread::AllSynchronizationObjectsReady() const { return std::none_of(wait_objects.begin(), wait_objects.end(), [this](const std::shared_ptr<SynchronizationObject>& object) { @@ -467,6 +464,7 @@ void Thread::SetCurrentPriority(u32 new_priority) { } ResultCode Thread::SetCoreAndAffinityMask(s32 new_core, u64 new_affinity_mask) { + SchedulerLock lock(kernel); const auto HighestSetCore = [](u64 mask, u32 max_cores) { for (s32 core = static_cast<s32>(max_cores - 1); core >= 0; core--) { if (((mask >> core) & 1) != 0) { |