diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html index 0bd36b85361..1fe1a967205 100644 --- a/Documentation/NuttxPortingGuide.html +++ b/Documentation/NuttxPortingGuide.html @@ -78,7 +78,7 @@ 4.2.9 up_block_task()
4.2.10 up_release_pending()
4.2.11 up_reprioritize_rtr()
- 4.2.12 _exit()
+ 4.2.12 up_exit()
4.2.13 up_assert()
4.2.14 up_schedule_sigaction()
4.2.15 up_allocate_heap()
@@ -2131,8 +2131,8 @@ The specific environmental definitions are unique for each board but should incl -

4.2.12 _exit()

-

Function Prototype: void _exit(int status) noreturn_function;

+

4.2.12 up_exit()

+

Function Prototype: void up_exit(int status) noreturn_function;

Description. This function causes the currently executing task to cease diff --git a/arch/arm/src/common/arm_exit.c b/arch/arm/src/common/arm_exit.c index 1941387b75c..925a5a462a8 100644 --- a/arch/arm/src/common/arm_exit.c +++ b/arch/arm/src/common/arm_exit.c @@ -114,7 +114,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -124,7 +124,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/avr/src/common/up_exit.c b/arch/avr/src/common/up_exit.c index 051b7fd53ab..7673b2a5bb0 100644 --- a/arch/avr/src/common/up_exit.c +++ b/arch/avr/src/common/up_exit.c @@ -129,7 +129,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -139,7 +139,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/hc/src/common/up_exit.c b/arch/hc/src/common/up_exit.c index cb2be424159..c196202e175 100644 --- a/arch/hc/src/common/up_exit.c +++ b/arch/hc/src/common/up_exit.c @@ -113,7 +113,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -123,7 +123,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/mips/src/common/mips_exit.c b/arch/mips/src/common/mips_exit.c index fd851648645..95654862c44 100644 --- a/arch/mips/src/common/mips_exit.c +++ b/arch/mips/src/common/mips_exit.c @@ -131,7 +131,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -141,7 +141,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/misoc/src/lm32/lm32_exit.c b/arch/misoc/src/lm32/lm32_exit.c index 8c6f7d8a0ec..b943ea14446 100644 --- a/arch/misoc/src/lm32/lm32_exit.c +++ b/arch/misoc/src/lm32/lm32_exit.c @@ -124,7 +124,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -134,7 +134,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/misoc/src/minerva/minerva_exit.c b/arch/misoc/src/minerva/minerva_exit.c index 61e44998d8d..5db7e3d90cc 100644 --- a/arch/misoc/src/minerva/minerva_exit.c +++ b/arch/misoc/src/minerva/minerva_exit.c @@ -122,7 +122,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -132,7 +132,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/or1k/src/common/up_exit.c b/arch/or1k/src/common/up_exit.c index f37a9406666..36fb194db2d 100644 --- a/arch/or1k/src/common/up_exit.c +++ b/arch/or1k/src/common/up_exit.c @@ -129,7 +129,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -139,7 +139,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/renesas/src/common/up_exit.c b/arch/renesas/src/common/up_exit.c index 03d5459b5bd..e9568b4fde9 100644 --- a/arch/renesas/src/common/up_exit.c +++ b/arch/renesas/src/common/up_exit.c @@ -113,7 +113,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -123,7 +123,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/risc-v/src/common/riscv_exit.c b/arch/risc-v/src/common/riscv_exit.c index 051558ef534..b1c483c35f6 100644 --- a/arch/risc-v/src/common/riscv_exit.c +++ b/arch/risc-v/src/common/riscv_exit.c @@ -131,7 +131,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -141,7 +141,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/sim/src/sim/up_exit.c b/arch/sim/src/sim/up_exit.c index af83470e014..fada99a50d3 100644 --- a/arch/sim/src/sim/up_exit.c +++ b/arch/sim/src/sim/up_exit.c @@ -53,7 +53,7 @@ ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -63,7 +63,7 @@ * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { FAR struct tcb_s *tcb = this_task(); diff --git a/arch/x86/src/common/up_exit.c b/arch/x86/src/common/up_exit.c index 95533a26701..8d69554746a 100644 --- a/arch/x86/src/common/up_exit.c +++ b/arch/x86/src/common/up_exit.c @@ -113,7 +113,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease to exist. @@ -123,7 +123,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/x86_64/src/common/up_exit.c b/arch/x86_64/src/common/up_exit.c index cd55324775f..b1f8b15ef4e 100644 --- a/arch/x86_64/src/common/up_exit.c +++ b/arch/x86_64/src/common/up_exit.c @@ -117,7 +117,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease to exist. @@ -127,7 +127,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb; diff --git a/arch/xtensa/src/common/xtensa_exit.c b/arch/xtensa/src/common/xtensa_exit.c index 95ab3d5a15d..5e00a358a22 100644 --- a/arch/xtensa/src/common/xtensa_exit.c +++ b/arch/xtensa/src/common/xtensa_exit.c @@ -130,7 +130,7 @@ static void _xtensa_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -140,7 +140,7 @@ static void _xtensa_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { struct tcb_s *tcb = this_task(); diff --git a/arch/z16/src/common/z16_exit.c b/arch/z16/src/common/z16_exit.c index 6a7fc47601e..3c924505f18 100644 --- a/arch/z16/src/common/z16_exit.c +++ b/arch/z16/src/common/z16_exit.c @@ -113,7 +113,7 @@ static void _z16_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -123,7 +123,7 @@ static void _z16_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { FAR struct tcb_s *tcb = this_task(); diff --git a/arch/z80/src/common/z80_exit.c b/arch/z80/src/common/z80_exit.c index 29f888768b4..e9e47d151f1 100644 --- a/arch/z80/src/common/z80_exit.c +++ b/arch/z80/src/common/z80_exit.c @@ -115,7 +115,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) ****************************************************************************/ /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -125,7 +125,7 @@ static void _up_dumponexit(FAR struct tcb_s *tcb, FAR void *arg) * ****************************************************************************/ -void _exit(int status) +void up_exit(int status) { FAR struct tcb_s *tcb = this_task(); diff --git a/include/nuttx/arch.h b/include/nuttx/arch.h index 565fbc7e683..eccf4d0d9dd 100644 --- a/include/nuttx/arch.h +++ b/include/nuttx/arch.h @@ -450,7 +450,7 @@ void up_release_pending(void); void up_reprioritize_rtr(FAR struct tcb_s *tcb, uint8_t priority); /**************************************************************************** - * Name: _exit + * Name: up_exit * * Description: * This function causes the currently executing task to cease @@ -464,6 +464,8 @@ void up_reprioritize_rtr(FAR struct tcb_s *tcb, uint8_t priority); * ****************************************************************************/ +void up_exit() noreturn_function; + /* Prototype is in unistd.h */ /**************************************************************************** diff --git a/sched/task/exit.c b/sched/task/exit.c index 1ebf075e8b6..90c6c215e84 100644 --- a/sched/task/exit.c +++ b/sched/task/exit.c @@ -39,6 +39,22 @@ * Public Functions ****************************************************************************/ +/**************************************************************************** + * Name: _exit + * + * Description: + * This function causes the currently executing task to cease + * to exist. This is a special case of task_delete() where the task to + * be deleted is the currently executing task. It is more complex because + * a context switch must be perform to the next ready to run task. + * + ****************************************************************************/ + +void _exit(int status) +{ + up_exit(status); +} + /**************************************************************************** * Name: exit *