|
|
@@ -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;
|
|
|
}
|
|
|
|