glibc/hurd
Samuel Thibault f901178749 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.
2020-05-28 09:11:12 +00:00
..
hurd hurd: Add THREAD_GET/SETMEM/_NC 2020-02-15 14:18:17 +01:00
alloc-fd.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
catch-exc.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
catch-signal.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
compat-20.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ctty-input.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ctty-output.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Depend
dtable.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
exc2signal.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
faultexc.defs
fchroot.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fcntl-internal.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fd-close.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fd-read.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fd-write.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
fopenport.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
get-host.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
getdport.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
geteuids.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
getumask.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurd-raise.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurd.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdauth.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdchdir.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdexec.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdfault.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdfault.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdfchdir.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdhost.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdid.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdinit.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdioctl.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdkill.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdlock.c htl: Add clock variants 2020-05-26 00:46:07 +00:00
hurdlock.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdlookup.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdmalloc.c hurdmalloc: Run fork handler as late as possible [BZ #19431] 2016-09-22 01:45:48 +02:00
hurdmalloc.h hurdmalloc: Run fork handler as late as possible [BZ #19431] 2016-09-22 01:45:48 +02:00
hurdmsg.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdpid.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdports.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdprio.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdrlimit.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdselect.c hurd: Fix pselect atomicity 2020-05-28 09:11:12 +00:00
hurdsig.c hurd: Fix pselect atomicity 2020-05-28 09:11:12 +00:00
hurdsock.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdsocket.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdstartup.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
hurdstartup.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
intern-fd.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
intr-msg.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
intr-rpc.defs Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
intr-rpc.h Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
longjmp-ts.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
lookup-at.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
lookup-retry.c hurd: Make O_TRUNC update mtime/ctime 2020-03-29 19:42:55 +02:00
Makefile Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
msgportdemux.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
new-fd.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Notes
openport.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
path-lookup.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
pid2task.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
port2fd.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
port-cleanup.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ports-get.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ports-set.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
preempt-sig.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
privports.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
report-wait.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
set-host.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
setauth.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
seteuids.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
siginfo.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sigunwind.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
stack_chk_fail_local.c hurd: fix build with -fstack-protector-strong 2017-08-27 22:10:17 +02:00
task2pid.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
thread-cancel.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
thread-self.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
trampoline.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Versions hurd: Global signal disposition 2019-12-29 18:32:49 +01:00
vpprintf.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
xattr.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00