casaroli commented on code in PR #20783:
URL: https://github.com/apache/nuttx/pull/20783#discussion_r4308465948
##########
sched/signal/sig_dispatch.c:
##########
@@ -598,7 +598,7 @@ int nxsig_tcbdispatch(FAR struct tcb_s *stcb, siginfo_t
*info,
*/
if (stcb->task_state == TSTATE_WAIT_SIG &&
- (masked == 0 ||
+ ((masked == 0 && !ignored) ||
Review Comment:
Done: merged into the first commit of #20766. I will close this PR.
##########
sched/signal/sig_dispatch.c:
##########
@@ -662,10 +662,14 @@ int nxsig_tcbdispatch(FAR struct tcb_s *stcb, siginfo_t
*info,
/* Check if the task is waiting for an unmasked signal. If so, then
* unblock it. This must be performed in a critical section because
- * signals can be queued from the interrupt level.
+ * signals can be queued from the interrupt level. An ignored signal
+ * does not end nanosleep(), pause() or sigsuspend(): it wakes only
+ * sigwaitinfo() and sigtimedwait() when they wait for it.
*/
- if (stcb->task_state == TSTATE_WAIT_SIG)
+ if (stcb->task_state == TSTATE_WAIT_SIG &&
Review Comment:
Done: merged into the first commit of #20766. I will close this PR.
--
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]