incubator-nuttx/sched/task
ligd 0a88799bab sched: fix task_delete crash in SMP case
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>
2023-01-18 14:11:18 +09:00
..
Make.defs sched/Makefile: move task_reparent.c to appropriate Makefile 2022-07-27 23:22:37 +08:00
exit.c libc/stdio: Flush streams in userspace when process exits 2022-12-22 20:16:11 +08:00
spawn.h Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
task.h libc/stdio: Flush streams in userspace when process exits 2022-12-22 20:16:11 +08:00
task_activate.c nuttx/sched: merge up_block_task and up_unblock_task 2022-11-22 22:59:08 +08:00
task_cancelpt.c sched/mqueue: make mqueue and mqueue sysv can disable separately 2022-11-16 20:03:40 +08:00
task_create.c sched/spawn: Support task_spawnattr_[set|get]stackaddr 2022-10-31 12:46:58 +09:00
task_delete.c libc/stdio: Flush streams in userspace when process exits 2022-12-22 20:16:11 +08:00
task_execve.c sched/task: Implement execle and execve 2022-04-22 10:40:31 +03:00
task_exit.c libc/stdio: Flush streams in userspace when process exits 2022-12-22 20:16:11 +08:00
task_exithook.c pthread: fixed pthread_cancel and pthread_exit crash in SMP mode 2023-01-18 11:57:40 +08:00
task_getgroup.c
task_getpid.c sched/task/task_getpid: getpid should return process id not thread id 2022-11-17 17:58:08 +08:00
task_getppid.c pid_t: unify usage of special task IDs 2022-03-22 21:22:32 +08:00
task_gettid.c
task_init.c libc: Move queue.h from include to include/nuttx 2022-09-26 08:04:58 +02:00
task_posixspawn.c sched/spawn: Launch nxposix_spawn_proxy through nxthread_create 2022-10-19 08:22:56 +09:00
task_prctl.c prctl: Replace strncpy with strlcpy for safety 2022-08-24 01:54:53 +08:00
task_recover.c sched/mqueue: make mqueue and mqueue sysv can disable separately 2022-11-16 20:03:40 +08:00
task_reparent.c Don't include assert.h from public header file 2021-06-03 08:36:03 -07:00
task_restart.c sched/semaphore: fix priority boost restoration for priority inheritance 2022-10-03 15:14:24 -03:00
task_setcancelstate.c Revert "libc: Call pthread_exit in user-space by up_pthread_exit" 2022-02-09 21:21:43 +08:00
task_setcanceltype.c Revert "libc: Call pthread_exit in user-space by up_pthread_exit" 2022-02-09 21:21:43 +08:00
task_setup.c task_setup: set sigprocmask directly to improve performance 2022-12-17 13:52:15 +08:00
task_spawn.c sched/spawn: Rename task_spawnattr_[get|set]stack[size|addr] to posix_spawnattr_[get|set]stack[size|addr] 2022-11-01 09:51:18 +09:00
task_spawnparms.c use SEM_INITIALIZER inside of NXSEM_INITIALIZER 2022-10-22 14:50:48 +08:00
task_start.c libc/tls: Make tls_get_info as the pulibc function instead up_tls_info 2022-06-03 23:56:50 +03:00
task_starthook.c Don't include assert.h from public header file 2021-06-03 08:36:03 -07:00
task_terminate.c sched: fix task_delete crash in SMP case 2023-01-18 14:11:18 +09:00
task_testcancel.c
task_tls_alloc.c Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
task_vfork.c libc: Move queue.h from include to include/nuttx 2022-09-26 08:04:58 +02:00