git-pselect
authorGNU Libc Maintainers <debian-glibc@lists.debian.org>
Wed, 16 Dec 2020 21:33:25 +0000 (21:33 +0000)
committerSamuel Thibault <sthibault@debian.org>
Wed, 16 Dec 2020 21:33:25 +0000 (21:33 +0000)
commita949162f467ccd4eae3ffa65d23bb3c5a424030b
tree836687e679e30d98b6b9b7f8f10e576b94c68da7
parent99da4c40434ad056ac3ae4905c99a1164cc3dafc
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
hurd/hurdselect.c
hurd/hurdsig.c