diff options
author | bunnei <bunneidev@gmail.com> | 2018-05-05 12:08:16 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-05-10 19:34:48 -0400 |
commit | 5c0421ebd8e6c1ef04216f8aef7cc78e61785a5d (patch) | |
tree | 5b8411b77dbe9b9f7226d65b5f9613ffb5ea72b4 | |
parent | 9bf2a428f9e9359763be1bfd90c32371044c711e (diff) |
wait_tree: Show all threads on all schedulers.
-rw-r--r-- | src/yuzu/debugger/wait_tree.cpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/yuzu/debugger/wait_tree.cpp b/src/yuzu/debugger/wait_tree.cpp index f05c98cc3..a5da98d23 100644 --- a/src/yuzu/debugger/wait_tree.cpp +++ b/src/yuzu/debugger/wait_tree.cpp @@ -51,13 +51,21 @@ std::size_t WaitTreeItem::Row() const { } std::vector<std::unique_ptr<WaitTreeThread>> WaitTreeItem::MakeThreadItemList() { - const auto& threads = Core::System::GetInstance().Scheduler(0)->GetThreadList(); std::vector<std::unique_ptr<WaitTreeThread>> item_list; - item_list.reserve(threads.size()); - for (std::size_t i = 0; i < threads.size(); ++i) { - item_list.push_back(std::make_unique<WaitTreeThread>(*threads[i])); - item_list.back()->row = i; - } + std::size_t row = 0; + auto add_threads = [&](const std::vector<Kernel::SharedPtr<Kernel::Thread>>& threads) { + for (std::size_t i = 0; i < threads.size(); ++i) { + item_list.push_back(std::make_unique<WaitTreeThread>(*threads[i])); + item_list.back()->row = row; + ++row; + } + }; + + add_threads(Core::System::GetInstance().Scheduler(0)->GetThreadList()); + add_threads(Core::System::GetInstance().Scheduler(1)->GetThreadList()); + add_threads(Core::System::GetInstance().Scheduler(2)->GetThreadList()); + add_threads(Core::System::GetInstance().Scheduler(3)->GetThreadList()); + return item_list; } |