|
From: | Richard Henderson |
Subject: | Re: [PATCH v3 36/40] bsd-user/signal.c: implement do_sigaction |
Date: | Mon, 31 Jan 2022 08:19:47 +1100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 |
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?
Otherwise, Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
[Prev in Thread] | Current Thread | [Next in Thread] |