anchao opened a new pull request, #20826:
URL: https://github.com/apache/nuttx/pull/20826

   ## Summary                                                                   
   
                                                                                
   
   Select `DISABLE_POSIX_TIMERS` when `DISABLE_ALL_SIGNALS` is enabled.         
   
                                                                                
   
   `CONFIG_DISABLE_ALL_SIGNALS` removes the signal subsystem, but the current   
   
   POSIX timer implementation still depends on signal-based notification.       
   
                                                                                
   
   In particular:                                                               
   
                                                                                
   
   - `timer_create()` defaults a `NULL` `sigevent` to `SIGEV_SIGNAL` with       
   
     `SIGALRM`.                                                                 
   
   - Timer expiration is delivered through `nxsig_notification()` with          
   
     `SI_TIMER`.                                                                
   
   - `CONFIG_DISABLE_ALL_SIGNALS` intentionally omits signal subsystem          
   
     initialization.                                                            
   
                                                                                
   
   Keeping POSIX timers enabled while all signal support is disabled leaves the 
   
   timer APIs wired to notification machinery that is intentionally 
unavailable.   
                                                                                
   
   This change makes the Kconfig state match the no-signal configuration 
semantics 
   and avoids requiring every no-signal defconfig to manually disable POSIX 
timers.
                                                                                
   
   ## Testing                                                                   
   
                                                                                
   
   Tested with a local no-signal simulator configuration using:                 
   
                                                                                
   
   ```sh                                                                        
   
   make distclean                                                               
   
   ./tools/configure.sh -l sim:nsh                                     
   make -j$(nproc)                                                              
   
   ```
   
   Also verified that the resulting configuration contains:
   ```
     CONFIG_DISABLE_ALL_SIGNALS=y                          
     CONFIG_DISABLE_POSIX_TIMERS=y                         
     # CONFIG_SCHED_WAITPID is not set                     
   ```


-- 
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