diff options
author | Subv <subv2112@gmail.com> | 2017-01-03 01:38:08 +0100 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2017-01-04 21:58:48 +0100 |
commit | d3ff5b91e14356912589f9bac47fccbe79e07279 (patch) | |
tree | e35c698d40539e360981a61b38f8fbb60aee7418 /src/core/hle/svc.cpp | |
parent | Kernel/Mutex: Update a mutex priority when a thread stops waiting on it. (diff) | |
download | yuzu-d3ff5b91e14356912589f9bac47fccbe79e07279.tar yuzu-d3ff5b91e14356912589f9bac47fccbe79e07279.tar.gz yuzu-d3ff5b91e14356912589f9bac47fccbe79e07279.tar.bz2 yuzu-d3ff5b91e14356912589f9bac47fccbe79e07279.tar.lz yuzu-d3ff5b91e14356912589f9bac47fccbe79e07279.tar.xz yuzu-d3ff5b91e14356912589f9bac47fccbe79e07279.tar.zst yuzu-d3ff5b91e14356912589f9bac47fccbe79e07279.zip |
Diffstat (limited to 'src/core/hle/svc.cpp')
-rw-r--r-- | src/core/hle/svc.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp index b6e34a9e9..160f27c98 100644 --- a/src/core/hle/svc.cpp +++ b/src/core/hle/svc.cpp @@ -611,6 +611,12 @@ static ResultCode SetThreadPriority(Kernel::Handle handle, s32 priority) { return ERR_INVALID_HANDLE; thread->SetPriority(priority); + thread->UpdatePriority(); + + // Update the mutexes that this thread is waiting for + for (auto& mutex : thread->pending_mutexes) + mutex->UpdatePriority(); + Core::System::GetInstance().PrepareReschedule(); return RESULT_SUCCESS; } |