nuttx/sched/group
wangzhi16 678f69b32a Revert "sched/group: move task group into task_tcb_s to improve performance"
This reverts commit 29e50ffa73.

reason:
Placing the main thread and the gourd in the same memory block, and allocating and freeing memory simultaneously, presents the following two problems:

When the main thread creates a child thread and performs a detach operation, there is a possibility that the main thread may have exited, but the main thread's TCB (Transaction Control Block) may not have been released.

This could potentially cause the main thread's TCB to be double-freed. The core contradiction in this problem lies in binding the main thread's TCB (Trust Container Registry) and the group together. When releasing the main thread's TCB, an additional check is needed to ensure the main thread was the last to leave the group. If this check and the free operation are atomically guaranteed, the logic is sound, and double freeing won't occur. However, this atomicity cannot be completely guaranteed. If other free operations cause a block, problems still arise.

Signed-off-by: wangzhi16 <wangzhi16@xiaomi.com>
2025-12-23 10:24:42 +08:00
..
CMakeLists.txt Rename group_argvstr to nxtask_argvstr 2024-10-10 23:13:37 +08:00
group.h Revert "sched/group: move task group into task_tcb_s to improve performance" 2025-12-23 10:24:42 +08:00
group_childstatus.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
group_continue.c sched: After nxsched_add_readytorun, change first parameter to up_switch_context to this_task() 2025-08-20 10:16:43 +08:00
group_create.c Revert "sched/group: move task group into task_tcb_s to improve performance" 2025-12-23 10:24:42 +08:00
group_exitinfo.c sched: remove all spin_lock_irqsave(NULL) 2025-01-06 23:11:44 +08:00
group_foreachchild.c Revert "sched/group: move task group into task_tcb_s to improve performance" 2025-12-23 10:24:42 +08:00
group_free.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_getegid.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_geteuid.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_getgid.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_getuid.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_join.c sched: remove all spin_lock_irqsave(NULL) 2025-01-06 23:11:44 +08:00
group_killchildren.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
group_leave.c Revert "sched/group: move task group into task_tcb_s to improve performance" 2025-12-23 10:24:42 +08:00
group_malloc.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_realloc.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_setegid.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_seteuid.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_setgid.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_setuid.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_setupidlefiles.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_setuptaskfiles.c bugfix: share kernel thread group should not dup files from caller group 2025-06-27 21:45:33 +08:00
group_signal.c sched/signal: Fix nxsig_ismember() return value behavior 2025-11-25 10:02:52 +08:00
group_suspendchildren.c sched/group: There is no need to use sched_[un]lock 2024-10-09 13:46:33 +08:00
group_waiter.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_zalloc.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
Make.defs Rename group_argvstr to nxtask_argvstr 2024-10-10 23:13:37 +08:00