mirror of
https://github.com/apache/nuttx.git
synced 2026-10-08 14:55:18 +00:00
A testcase as following:
child_task()
{
sleep(3);
}
main_task()
{
while (1)
{
ret = task_create("child_task", child_task, );
sleep(1);
task_delete(ret);
}
}
Root casuse:
task_delete hasn's cover the condition that the deleted-task
is justing running on the other CPU.
Fix:
Let the nxsched_remove_readytorun() do the real work
Signed-off-by: ligd <liguiding1@xiaomi.com>
|
||
|---|---|---|
| .. | ||
| exit.c | ||
| Make.defs | ||
| spawn.h | ||
| task.h | ||
| task_activate.c | ||
| task_cancelpt.c | ||
| task_create.c | ||
| task_delete.c | ||
| task_execve.c | ||
| task_exit.c | ||
| task_exithook.c | ||
| task_getgroup.c | ||
| task_getpid.c | ||
| task_getppid.c | ||
| task_gettid.c | ||
| task_init.c | ||
| task_posixspawn.c | ||
| task_prctl.c | ||
| task_recover.c | ||
| task_reparent.c | ||
| task_restart.c | ||
| task_setcancelstate.c | ||
| task_setcanceltype.c | ||
| task_setup.c | ||
| task_spawn.c | ||
| task_spawnparms.c | ||
| task_start.c | ||
| task_starthook.c | ||
| task_terminate.c | ||
| task_testcancel.c | ||
| task_tls_alloc.c | ||
| task_vfork.c | ||