task/pthread_cancelpt: Move cancel point handling to libc, data to TLS

This moves task / thread cancel point logic from the NuttX kernel into
libc, while the data needed by the cancel point logic is moved to TLS.

The change is an enabler to move user-space APIs to libc as well, for
a coherent user/kernel separation.
This commit is contained in:
Ville Juven
2023-11-10 12:56:10 +02:00
committed by Xiang Xiao
parent 1e31ec8003
commit 0dedbcd4ae
24 changed files with 414 additions and 547 deletions
-3
View File
@@ -184,10 +184,7 @@
"task_create","sched.h","!defined(CONFIG_BUILD_KERNEL)", "int","FAR const char *","int","int","main_t","FAR char * const []|FAR char * const *"
"task_delete","sched.h","!defined(CONFIG_BUILD_KERNEL)","int","pid_t"
"task_restart","sched.h","!defined(CONFIG_BUILD_KERNEL)","int","pid_t"
"task_setcancelstate","sched.h","","int","int","FAR int *"
"task_setcanceltype","sched.h","defined(CONFIG_CANCELLATION_POINTS)","int","int","FAR int *"
"task_spawn","nuttx/spawn.h","!defined(CONFIG_BUILD_KERNEL)","int","FAR const char *","main_t","FAR const posix_spawn_file_actions_t *","FAR const posix_spawnattr_t *","FAR char * const []|FAR char * const *","FAR char * const []|FAR char * const *"
"task_testcancel","sched.h","defined(CONFIG_CANCELLATION_POINTS)","void"
"tgkill","signal.h","","int","pid_t","pid_t","int"
"time","time.h","","time_t","FAR time_t *"
"timer_create","time.h","!defined(CONFIG_DISABLE_POSIX_TIMERS)","int","clockid_t","FAR struct sigevent *","FAR timer_t *"
1 _assert assert.h void FAR const char * int FAR const char * FAR void *
184 task_create sched.h !defined(CONFIG_BUILD_KERNEL) int FAR const char * int int main_t
185 task_delete sched.h !defined(CONFIG_BUILD_KERNEL) int pid_t
186 task_restart sched.h !defined(CONFIG_BUILD_KERNEL) int pid_t
task_setcancelstate sched.h int int FAR int *
task_setcanceltype sched.h defined(CONFIG_CANCELLATION_POINTS) int int FAR int *
187 task_spawn nuttx/spawn.h !defined(CONFIG_BUILD_KERNEL) int FAR const char * main_t FAR const posix_spawn_file_actions_t * FAR const posix_spawnattr_t *
task_testcancel sched.h defined(CONFIG_CANCELLATION_POINTS) void
188 tgkill signal.h int pid_t pid_t int
189 time time.h time_t FAR time_t *
190 timer_create time.h !defined(CONFIG_DISABLE_POSIX_TIMERS) int clockid_t FAR struct sigevent * FAR timer_t *