TaskList_t CLRenderWorld::MakeTasksList() const { TaskList_t tasks; tasks.push_back(*m_RenderTask); //tasks.push_back(*m_GUITask); tasks.push_back(*m_GraphicalProfilerTask); return std::move(tasks); }
void task_free(Task *t) { ASSERT_int_disable(); ASSERT(t == task_curr); ipc_task_free(t); task_curr_free_files(); uint32_t count_brk = (roundUp(t->pgdir.end_brk) - roundDown(t->pgdir.start_brk)) / 0x1000; /* code, heap ve stack alanlari toplami user alanina esit olmali */ ASSERT(t->pgdir.count_stack + t->pgdir.count_program + count_brk == t->pgdir.count_user); task_free_vm_user(t); ASSERT(t->pgdir.count_user == 0); /* * kernel stack ve pagedir daha sonra zombie list uzerinden silinecek. * task structini bulundugu listeden cikar, zombie olarak isaretle ve * task_zombie_list'e ekle. */ t->list_node.__list->erase(t->list_node.get_iterator()); t->state = Task::State_zombie; task_zombie_list.push_back(&t->list_node); if (t->alarm_list_node.__list) t->alarm_list_node.__list->erase(&t->alarm_list_node); }