From cc690f1d21617ce0c6fb58ec6124d27085ea4ed7 Mon Sep 17 00:00:00 2001 From: chenxiaoyi Date: Wed, 31 May 2023 14:44:51 +0800 Subject: [PATCH] move task tls destruct to before _exit Signed-off-by: chenxiaoyi --- libs/libc/stdlib/lib_exit.c | 4 ++++ sched/group/group_leave.c | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/libc/stdlib/lib_exit.c b/libs/libc/stdlib/lib_exit.c index 1eee064e0b..562cae251a 100644 --- a/libs/libc/stdlib/lib_exit.c +++ b/libs/libc/stdlib/lib_exit.c @@ -108,6 +108,10 @@ void exit(int status) atexit_call_exitfuncs(status, false); +#if defined(CONFIG_TLS_TASK_NELEM) && CONFIG_TLS_TASK_NELEM > 0 + task_tls_destruct(); +#endif + #ifdef CONFIG_FILE_STREAM /* Flush all streams */ diff --git a/sched/group/group_leave.c b/sched/group/group_leave.c index 6d2a8c1012..6dfef6c1cc 100644 --- a/sched/group/group_leave.c +++ b/sched/group/group_leave.c @@ -128,10 +128,6 @@ static void group_remove(FAR struct task_group_s *group) static inline void group_release(FAR struct task_group_s *group) { -#if defined(CONFIG_TLS_TASK_NELEM) && CONFIG_TLS_TASK_NELEM > 0 - task_tls_destruct(); -#endif - task_uninit_info(group); #if defined(CONFIG_SCHED_HAVE_PARENT) && defined(CONFIG_SCHED_CHILD_STATUS)