nuttx/sched/group
Jukka Laitinen e4d5c78008 Fix signal delivered to a wrong thread
When using pthread_kill, the signal should be delivered to the
specified thread. Current implementation, however, may add the
signal to the groups pending list, if the signal is masked at the
time of dispatch. From the group's pending list it can be delivered
to any thread of the group, which is wrong.

Fix this by adding a new field "FAR struct tcb_s *tcb" to
"struct sigpendq", marking if the signal needs to be delivered
to a specific thread. Use NULL for the value if delivery to any
thread in the group is ok.

Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae>
2025-05-08 21:32:35 +08:00
..
CMakeLists.txt Rename group_argvstr to nxtask_argvstr 2024-10-10 23:13:37 +08:00
group.h sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_childstatus.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +08:00
group_continue.c sched/group: There is no need to use sched_[un]lock 2024-10-09 13:46:33 +08:00
group_create.c group: use tg_mutex to replace tg_joinlock 2025-01-19 17:08:32 +08:00
group_exitinfo.c sched: remove all spin_lock_irqsave(NULL) 2025-01-06 23:11:44 +08:00
group_foreachchild.c sched: migrate to SPDX identifier 2024-09-12 01:10:14 +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/group: There is no need to use sched_[un]lock 2024-10-09 13:46:33 +08:00
group_leave.c group: use tg_mutex to replace tg_joinlock 2025-01-19 17:08:32 +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 Revert "sched/group/setuptask_file: duplicate idle task fd for kernel thread" 2024-10-11 16:53:19 +08:00
group_signal.c Fix signal delivered to a wrong thread 2025-05-08 21:32:35 +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