Support running task list management.

This commit is contained in:
TXuian
2024-04-30 14:24:07 +08:00
parent 3c6e8ce109
commit baa04913bd
7 changed files with 76 additions and 32 deletions
@@ -40,6 +40,11 @@ int sys_exit(struct TaskMicroDescriptor* ptask)
{
assert(ptask != NULL);
ptask->dead = true;
// free that task straightly if it's a blocked task
if (ptask->state == BLOCKED) {
xizi_task_manager.free_pcb(ptask);
}
// yield current task in case it wants to exit itself
xizi_task_manager.task_yield_noschedule(cur_cpu()->task, false);
return 0;
}