git-pselect
Committed for glibc 2.32
commit
f9011787497a276f84ef79ae233992692a626dc7
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Wed May 27 23:42:24 2020 +0000
hurd: Fix pselect atomicity
In case the signal arrives before the __mach_msg call, we need to catch
between the sigprocmask call and the __mach_msg call. Let's just reuse
the support for sigsuspend to make the signal send a message that
our __mach_msg call will just receive.
* hurd/hurdselect.c (_hurd_select): Add sigport and ss variables. When
sigmask is not NULL, create a sigport port and register as
ss->suspended. Add it to the portset. When we receive a message on it,
set error to EINTR. Clean up sigport and portset appropriately.
* hurd/hurdsig.c (wake_sigsuspend): Note that pselect also uses it.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-pselect.diff