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);
	}
Exemple #2
0
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);
}