On Sun, Jan 30, 2022 at 2:19 PM Richard Henderson <richard.henderson@linaro.org> wrote:
On 1/29/22 10:28, Warner Losh wrote:
> +    if (block_signals()) {
> +        return -TARGET_ERESTART;
> +    }
> +
> +    k = &sigact_table[sig - 1];
> +    if (oact) {
> +        oact->_sa_handler = tswapal(k->_sa_handler);
> +        oact->sa_flags = tswap32(k->sa_flags);
> +        oact->sa_mask = k->sa_mask;
> +    }
> +    if (act) {
> +        /* XXX: this is most likely not threadsafe. */

It surely is -- we never set another thread's sigaction, and we've just blocked all
signals, so we're signal-safe.  Am I missing something?

Now that I look at it, I can't understand why this comment is here. I'll remove it.

Warner
 
Otherwise,
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~