patacongo commented on code in PR #9923:
URL: https://github.com/apache/nuttx/pull/9923#discussion_r1278504626
##########
sched/signal/sig_procmask.c:
##########
@@ -187,8 +187,27 @@ int nxsig_procmask(int how, FAR const sigset_t *set, FAR
sigset_t *oset)
int sigprocmask(int how, FAR const sigset_t *set, FAR sigset_t *oset)
{
+ sigset_t nset;
int ret;
+ /* SIGKILL and SIGSTOP should not be added to signal mask */
+
+ if (set != NULL)
+ {
+ nset = *set;
+ if (nxsig_ismember(&nset, SIGKILL))
+ {
+ nxsig_delset(&nset, SIGKILL);
+ }
+
+ if (nxsig_ismember(&nset, SIGSTOP))
+ {
+ nxsig_delset(&nset, SIGSTOP);
+ }
+
Review Comment:
Two more comments:
1. Why waste processing to test if the signal is set before clearing it.
That is a wasteful operation. Just clear it unconditionally instead.
2. I wonder if it makes sense to clear the signals in the case of
SIG_UNBLOCK . Would it make more sense to set the signals in the set instead?
--
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]