git-pselect
authorGNU Libc Maintainers <debian-glibc@lists.debian.org>
Tue, 4 Aug 2020 15:02:38 +0000 (16:02 +0100)
committerAurelien Jarno <aurel32@debian.org>
Tue, 4 Aug 2020 15:02:38 +0000 (16:02 +0100)
commit8668aebe1f29c4d8db0aa1fac07a66ec2c79fbf7
tree7d3a2e3e2504a52834282bba7af213df633b127f
parentf0407646445eaabe7738a39712c7a32d0bab938c
git-pselect

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
hurd/hurdselect.c
hurd/hurdsig.c