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

   
   ## Summary
   
   <p dir="auto"><code class="notranslate">timer_create()</code> checked the 
signal number only when <code class="notranslate">sigev_notify</code> was 
exactly <code class="notranslate">SIGEV_SIGNAL</code>, so <code 
class="notranslate">SIGEV_SIGNAL | SIGEV_THREAD_ID</code> let any number 
through to dispatch, and an expiring timer then failed its <code 
class="notranslate">DEBUGVERIFY</code>. <code 
class="notranslate">nxsig_notification()</code> also honoured any thread ID, 
letting a process aim a timer or driver notification at a thread of another 
process.</p>
   <p dir="auto">New <code class="notranslate">nxsig_event_valid()</code>: the 
signal must exist, and a <code class="notranslate">SIGEV_THREAD_ID</code> 
target must be one of the caller's own threads, as on Linux. It runs where the 
event is registered, so the caller gets <code class="notranslate">EINVAL</code> 
up front.</p>
   <markdown-accessiblity-table data-catalyst="">
   File | Does
   -- | --
   sig_notification.c, nuttx/signal.h | nxsig_event_valid()
   timer_create.c, gpio.c, button_upper.c, phy_notify.c | call it before 
storing the event
   gpio.c, button_upper.c | nxstyle first, in its own commit
   
   </markdown-accessiblity-table>
   <p dir="auto">The other drivers that take a sigevent from user space 
(joystick, rtc, oneshot, aio, ...) follow in a separate PR.</p>
   
   ## Impact
   
   RELEASE
   
   ## Testing
   
   CI


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