This is an automated email from the ASF dual-hosted git repository. gnutt pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.
from a876f02 net/tcp: recounter the ack counter during obtain newdata new bb9b58b libc: Move pthread_create to user space new 54eef9f libc: Move pthread_exit to userspace new 103925b boards/risc-v/c906: Remove unneeded pthread_start new f1a92e9 libc: Move pthread_cleanup to user space new 81a01d0 libc/pthread: Fix comment and document issue new f4a0b7a libc: Call pthread_exit in user-space by up_pthread_exit new d374d55 pthread: Implement destructor of pthread_key_create new 9dbeaa3 nuttx/sched.h: Fix nxstyle new a294153 pthread: Avoid recursive pthread_exit call The 9 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: arch/arm/src/a1x/Make.defs | 1 + arch/arm/src/am335x/Make.defs | 1 + arch/arm/src/armv6-m/arm_svcall.c | 51 ++- arch/arm/src/armv6-m/svcall.h | 27 +- arch/arm/src/armv7-a/arm_syscall.c | 45 +- arch/arm/src/armv7-a/svcall.h | 31 +- arch/arm/src/armv7-m/arm_svcall.c | 51 ++- arch/arm/src/armv7-m/svcall.h | 33 +- arch/arm/src/armv7-r/arm_syscall.c | 45 +- arch/arm/src/armv7-r/svcall.h | 20 +- arch/arm/src/armv8-m/arm_svcall.c | 51 ++- arch/arm/src/armv8-m/svcall.h | 20 +- .../{arm_pthread_start.c => arm_pthread_exit.c} | 28 +- arch/arm/src/common/arm_pthread_start.c | 11 +- arch/arm/src/cxd56xx/Make.defs | 1 + arch/arm/src/efm32/Make.defs | 1 + arch/arm/src/eoss3/Make.defs | 1 + arch/arm/src/imx6/Make.defs | 1 + arch/arm/src/imxrt/Make.defs | 1 + arch/arm/src/kinetis/Make.defs | 1 + arch/arm/src/kl/Make.defs | 1 + arch/arm/src/lc823450/Make.defs | 1 + arch/arm/src/lpc17xx_40xx/Make.defs | 1 + arch/arm/src/lpc43xx/Make.defs | 1 + arch/arm/src/lpc54xx/Make.defs | 1 + arch/arm/src/max326xx/Make.defs | 1 + arch/arm/src/nrf52/Make.defs | 1 + arch/arm/src/nuc1xx/Make.defs | 1 + arch/arm/src/rp2040/Make.defs | 1 + arch/arm/src/s32k1xx/Make.defs | 1 + arch/arm/src/sam34/Make.defs | 1 + arch/arm/src/sama5/Make.defs | 1 + arch/arm/src/samd2l2/Make.defs | 1 + arch/arm/src/samd5e5/Make.defs | 1 + arch/arm/src/samv7/Make.defs | 1 + arch/arm/src/stm32/Make.defs | 2 +- arch/arm/src/stm32f0l0g0/Make.defs | 1 + arch/arm/src/stm32f7/Make.defs | 1 + arch/arm/src/stm32h7/Make.defs | 1 + arch/arm/src/stm32l4/Make.defs | 1 + arch/arm/src/stm32l5/Make.defs | 1 + arch/arm/src/tiva/Make.defs | 1 + arch/arm/src/tms570/Make.defs | 1 + arch/arm/src/xmc4/Make.defs | 1 + arch/or1k/src/common/up_pthread_start.c | 8 +- arch/risc-v/src/c906/Make.defs | 1 + .../risc-v/src/common/riscv_pthread_exit.c | 44 +- arch/risc-v/src/common/riscv_pthread_start.c | 11 +- arch/risc-v/src/k210/Make.defs | 3 +- arch/risc-v/src/rv64gc/riscv_swint.c | 55 ++- arch/risc-v/src/rv64gc/svcall.h | 34 +- .../arm/imxrt/imxrt1050-evk/configs/knsh/defconfig | 2 +- .../imxrt/imxrt1050-evk/kernel/imxrt_userspace.c | 3 - .../arm/imxrt/imxrt1060-evk/configs/knsh/defconfig | 2 +- .../imxrt/imxrt1060-evk/kernel/imxrt_userspace.c | 3 - .../arm/imxrt/imxrt1064-evk/configs/knsh/defconfig | 2 +- .../lc823450/lc823450-xgevk/configs/knsh/defconfig | 2 +- .../lc823450-xgevk/configs/kostest/defconfig | 2 +- .../lc823450-xgevk/configs/krndis/defconfig | 2 +- .../lc823450-xgevk/kernel/lc823450_userspace.c | 3 - .../lpc4088-devkit/configs/knsh/defconfig | 2 +- .../lpc4088-devkit/kernel/lpc17_40_userspace.c | 3 - .../lpc4088-quickstart/configs/knsh/defconfig | 2 +- .../lpc4088-quickstart/kernel/lpc17_40_userspace.c | 3 - .../lpc17xx_40xx/open1788/configs/knsh/defconfig | 2 +- .../open1788/configs/knxterm/defconfig | 2 +- .../open1788/kernel/lpc17_40_userspace.c | 3 - .../lpc17xx_40xx/pnev5180b/configs/knsh/defconfig | 2 +- .../pnev5180b/kernel/lpc17_40_userspace.c | 3 - .../lpc43xx/bambino-200e/configs/knsh/defconfig | 2 +- .../lpc43xx/bambino-200e/kernel/lpc43_userspace.c | 3 - boards/arm/sam34/sam3u-ek/configs/knsh/defconfig | 2 +- boards/arm/sam34/sam3u-ek/kernel/sam_userspace.c | 3 - boards/arm/sama5/sama5d4-ek/configs/knsh/defconfig | 2 +- .../samv7/same70-xplained/kernel/sam_userspace.c | 3 - .../arm/samv7/samv71-xult/configs/knsh/defconfig | 2 +- .../arm/samv7/samv71-xult/kernel/sam_userspace.c | 3 - .../stm32/clicker2-stm32/configs/knsh/defconfig | 2 +- .../stm32/clicker2-stm32/kernel/stm32_userspace.c | 3 - .../stm32/mikroe-stm32f4/configs/kostest/defconfig | 2 +- .../stm32/mikroe-stm32f4/kernel/stm32_userspace.c | 3 - .../stm32/olimex-stm32-p407/configs/kelf/defconfig | 2 +- .../olimex-stm32-p407/configs/kmodule/defconfig | 2 +- .../stm32/olimex-stm32-p407/configs/knsh/defconfig | 2 +- .../olimex-stm32-p407/kernel/stm32_userspace.c | 3 - .../arm/stm32/omnibusf4/kernel/stm32_userspace.c | 3 - .../stm32/stm3240g-eval/configs/knxwm/defconfig | 2 +- .../stm32/stm3240g-eval/kernel/stm32_userspace.c | 3 - .../stm32f4discovery/configs/kostest/defconfig | 2 +- .../stm32f4discovery/kernel/stm32_userspace.c | 3 - .../stm32f746g-disco/kernel/stm32_userspace.c | 3 - .../stm32f769i-disco/kernel/stm32_userspace.c | 3 - .../stm32h7/nucleo-h743zi/kernel/stm32_userspace.c | 3 - .../stm32h747i-disco/kernel/stm32_userspace.c | 3 - .../stm32l476vg-disco/configs/knsh/defconfig | 2 +- .../stm32l476vg-disco/kernel/stm32l4_userspace.c | 3 - .../stm32l4r9ai-disco/configs/knsh/defconfig | 2 +- .../stm32l4r9ai-disco/kernel/stm32l4_userspace.c | 3 - .../lm3s6965-ek/configs/qemu-protected/defconfig | 2 +- boards/arm/tiva/lm3s6965-ek/kernel/lm_userspace.c | 3 - .../risc-v/c906/smartl-c906/configs/knsh/defconfig | 2 +- .../c906/smartl-c906/kernel/c906_userspace.c | 3 - boards/risc-v/k210/maix-bit/configs/knsh/defconfig | 2 +- .../k210/maix-bit/configs/knsh_smp/defconfig | 2 +- .../risc-v/k210/maix-bit/configs/kostest/defconfig | 2 +- .../risc-v/k210/maix-bit/kernel/k210_userspace.c | 3 - include/nuttx/arch.h | 29 +- include/nuttx/pthread.h | 70 +++- include/nuttx/sched.h | 457 +++++++++++---------- include/nuttx/tls.h | 87 ++++ include/nuttx/userspace.h | 26 +- include/pthread.h | 4 + include/sys/syscall_lookup.h | 11 +- libs/libc/pthread/Make.defs | 14 +- {sched => libs/libc}/pthread/pthread_cleanup.c | 76 ++-- .../libc/pthread/pthread_create.c | 75 ++-- .../{pthread_condattr_init.c => pthread_exit.c} | 37 +- libs/libc/pthread/pthread_keycreate.c | 6 +- libs/libc/pthread/pthread_startup.c | 93 ----- libs/libc/tls/Make.defs | 2 +- libs/libc/tls/{tls_setvalue.c => tls_destruct.c} | 49 +-- sched/group/Make.defs | 1 + .../group/group_tlsgetdtor.c | 41 +- .../sched_getstreams.c => group/group_tlsgetset.c} | 41 +- .../group/group_tlssetdtor.c | 36 +- sched/pthread/Make.defs | 4 - sched/pthread/pthread.h | 4 - sched/pthread/pthread_cancel.c | 22 +- sched/pthread/pthread_create.c | 71 ++-- sched/pthread/pthread_exit.c | 11 +- sched/signal/sig_default.c | 9 +- sched/task/exit.c | 6 - sched/task/task_cancelpt.c | 15 + sched/task/task_setcancelstate.c | 7 + sched/task/task_setcanceltype.c | 7 + syscall/syscall.csv | 9 +- 136 files changed, 1136 insertions(+), 922 deletions(-) copy arch/arm/src/common/{arm_pthread_start.c => arm_pthread_exit.c} (68%) copy libs/libc/pthread/pthread_condattr_setclock.c => arch/risc-v/src/common/riscv_pthread_exit.c (68%) rename {sched => libs/libc}/pthread/pthread_cleanup.c (77%) copy sched/group/group_continue.c => libs/libc/pthread/pthread_create.c (60%) copy libs/libc/pthread/{pthread_condattr_init.c => pthread_exit.c} (78%) delete mode 100644 libs/libc/pthread/pthread_startup.c copy libs/libc/tls/{tls_setvalue.c => tls_destruct.c} (68%) copy libs/libc/tls/tls_setvalue.c => sched/group/group_tlsgetdtor.c (70%) copy sched/{sched/sched_getstreams.c => group/group_tlsgetset.c} (75%) copy libs/libc/tls/tls_setvalue.c => sched/group/group_tlssetdtor.c (75%)