There was an error fetching the commit references. Please try again later.
Kernel: Actually wake up the requested number of threads in Semaphore::Release.
Also properly keep track of data in guest memory, this fixes managing the semaphore from userland. It was found that Semaphores are actually Condition Variables, with Release(1) and Release(-1) being equivalent to notify_one and notify_all. We should change the name of the class to reflect this.
Showing
- src/citra_qt/debugger/wait_tree.cpp 2 additions, 3 deletionssrc/citra_qt/debugger/wait_tree.cpp
- src/core/hle/kernel/semaphore.cpp 11 additions, 12 deletionssrc/core/hle/kernel/semaphore.cpp
- src/core/hle/kernel/semaphore.h 4 additions, 5 deletionssrc/core/hle/kernel/semaphore.h
- src/core/hle/kernel/svc.cpp 1 addition, 1 deletionsrc/core/hle/kernel/svc.cpp
Loading
Please register or sign in to comment