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