diff options
| author | 2018-01-08 14:14:30 -0500 | |
|---|---|---|
| committer | 2018-01-08 21:12:54 -0500 | |
| commit | db3a5251664ae77f5e67dba571a11d208e448a86 (patch) | |
| tree | f53b53b9620ca36a5b8085e3e9d2b603477142fc /src/citra_qt/debugger/wait_tree.cpp | |
| parent | Kernel: Properly keep track of mutex lock data in the guest memory. This fixe... (diff) | |
| download | yuzu-db3a5251664ae77f5e67dba571a11d208e448a86.tar.gz yuzu-db3a5251664ae77f5e67dba571a11d208e448a86.tar.xz yuzu-db3a5251664ae77f5e67dba571a11d208e448a86.zip | |
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.
Diffstat (limited to 'src/citra_qt/debugger/wait_tree.cpp')
| -rw-r--r-- | src/citra_qt/debugger/wait_tree.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/citra_qt/debugger/wait_tree.cpp b/src/citra_qt/debugger/wait_tree.cpp index ebcc02894..6d15e43aa 100644 --- a/src/citra_qt/debugger/wait_tree.cpp +++ b/src/citra_qt/debugger/wait_tree.cpp | |||
| @@ -273,9 +273,8 @@ std::vector<std::unique_ptr<WaitTreeItem>> WaitTreeSemaphore::GetChildren() cons | |||
| 273 | std::vector<std::unique_ptr<WaitTreeItem>> list(WaitTreeWaitObject::GetChildren()); | 273 | std::vector<std::unique_ptr<WaitTreeItem>> list(WaitTreeWaitObject::GetChildren()); |
| 274 | 274 | ||
| 275 | const auto& semaphore = static_cast<const Kernel::Semaphore&>(object); | 275 | const auto& semaphore = static_cast<const Kernel::Semaphore&>(object); |
| 276 | list.push_back( | 276 | list.push_back(std::make_unique<WaitTreeText>( |
| 277 | std::make_unique<WaitTreeText>(tr("available count = %1").arg(semaphore.available_count))); | 277 | tr("available count = %1").arg(semaphore.GetAvailableCount()))); |
| 278 | list.push_back(std::make_unique<WaitTreeText>(tr("max count = %1").arg(semaphore.max_count))); | ||
| 279 | return list; | 278 | return list; |
| 280 | } | 279 | } |
| 281 | 280 | ||