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]
