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]

Reply via email to