jlaitine commented on code in PR #19116:
URL: https://github.com/apache/nuttx/pull/19116#discussion_r3394971799


##########
sched/signal/sig_suspend.c:
##########
@@ -108,6 +108,7 @@ int sigsuspend(FAR const sigset_t *set)
    * signals that will be unblocked by the new sigprocmask.
    */
 
+#ifdef CONFIG_ENABLE_ALL_SIGNALS
   if (nxsig_unmask_pendingsignal())

Review Comment:
   I think the functionality is already broken for partial signals; I don't 
think that signal wakeup works in that... There is work needed at least in 
signal dispatch to use sigact only with CONFIG_ENABLE_ALL_SIGNALS, also use 
signal action and posted signal queues only in CONFIG_ENABLE_ALL_SIGNALS. And 
to have separate pre-allocated queues for those, and allocate items to those 
queues.... 
   
   And to get signal wakeup working in partial mode, we need to put back some 
functionality in sem_wait; the functionality there is wrongly flagged out...
   
   Looks like I fell again in a rabbit-hole; I'll try to fix this so that it is 
semantically correct ... It shouldn't be super tricky, but needs some time. 
I'll try to come back with a new fix attempt tomorrow. 
   



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