kern: refactor priority inheritance to represent locks as C++ objects

This commit is contained in:
Michael Scire 2023-02-21 13:15:01 -07:00
parent 4f6ecf138b
commit adfaee0f46
7 changed files with 271 additions and 102 deletions

View file

@ -817,8 +817,8 @@ namespace ams::kern {
m_exception_thread = nullptr;
/* Remove waiter thread. */
s32 num_waiters;
if (KThread *next = thread->RemoveWaiterByKey(std::addressof(num_waiters), reinterpret_cast<uintptr_t>(std::addressof(m_exception_thread)) | 1); next != nullptr) {
bool has_waiters;
if (KThread *next = thread->RemoveWaiterByKey(std::addressof(has_waiters), reinterpret_cast<uintptr_t>(std::addressof(m_exception_thread)) | 1); next != nullptr) {
next->EndWait(ResultSuccess());
}