wangchdo opened a new pull request, #17352:
URL: https://github.com/apache/nuttx/pull/17352
## Summary
Currently, NuttX is being adopted increasingly on small embedded systems
with tight resource constraints. Many of these systems do not require signal
handling functionality or POSIX-related APIs.
With #17200 introducing scheduled sleep support, and #17204 replacing all
signal-based sleep implementations in drivers and the filesystem with scheduled
sleep, the dependency on signals has been significantly reduced.
Therefore, it is now a good time to provide an option for users to disable
signal support entirely, allowing them to reduce code size and memory usage
when signal functionality is not needed.
## Impact
Add configuration support that allows users to disable signal functionality.
When signals are disabled, the related POSIX APIs—including sleep, usleep,
kill, pkill, and pthread—will be disabled as well.
## Testing
ostest is heavily dependent on POSIX APIs—including sleep, usleep, kill,
pkill, and pthread. Therefore, to disable signal support, ostest must also be
disabled until it is refactored to reduce its reliance on these APIs.
I have tested the signal-disable option on the fvp-armv8r-aarch32 board with
ostest disabled, and the build succeeds and runs correctly.
```
NuttShell (NSH)
nsh> [ 0] Idle_Task: nx_start: CPU0: Beginning Idle Loop
nsh>
nsh> uname -a
NuttX 0.0.0 cce68d3ead-dirty Nov 20 2025 14:43:39 arm fvp-armv8r-aarch32
nsh>
nsh>
nsh> help
help usage: help [-v] [<cmd>]
. cd exec ls pwd truncate
[ cp exit mkdir rm uname
? cmp expr mkrd rmdir umount
alias dirname false mount set unset
unalias df fdinfo mv source uptime
basename dmesg free pidof test xd
break echo help printf time
cat env hexdump ps true
Builtin Apps:
dd nsh sh hello
nsh>
nsh>
nsh> hello
[ 2] nsh_main: task_spawn: name=hello entry=0x2f554 file_actions=0x20009a88
attr=0x20009a8c argv=0x20009b48
[ 2] nsh_main: spawn_execattrs: Setting policy=2 priority=100 for pid=3
[ 2] nsh_main: nxtask_activate: hello pid=3,TCB=0x2000a0a0
Hello, World!!
[ 3] hello: nxtask_exit: hello pid=3,TCB=0x2000a0a0
nsh>
nsh> ps
TID PID PPID PRI POLICY TYPE NPX STATE EVENT SIGMASK
STACK USED FILLED COMMAND
0 0 0 0 FIFO Kthread - Ready
0008176 0000888 10.8% Idle_Task
1 0 0 192 RR Kthread - Waiting Semaphore
0008128 0000432 5.3% hpwork 0x200002e0 0x20000330
2 2 0 100 RR Task - Running
0008152 0001840 22.5% nsh_main
nsh>
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]