misc: Set generic pselect as ENOSYS
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 14 Nov 2019 21:18:24 +0000 (18:18 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 22 Nov 2019 17:40:57 +0000 (14:40 -0300)
commit8781c1301d55db0a95398eb24c11b99205706bae
tree2f8e6ef91bb2d96eeb8cee0c39239a42a5d83b34
parent102b5b0cafaf09758a62f62a53fafb6db2f71136
misc: Set generic pselect as ENOSYS

The generic pselect implementation has the very specific race condition
that motived the creation of the pselect syscall (no atomicity in
signal mask set/reset).  Using it as generic implementation is
counterproductive  Also currently only microblaze uses it as fallback
when used on kernel prior 3.15.

This patch moves the generic implementation to a microblaze specific
one, sets the generic internal as a ENOSYS, and cleanups the Linux
generic implementation.

The microblaze implementation mimics the previous Linux generic one,
where it either uses pselect6 directly if __ASSUME_PSELECT or a
first try pselect6 then the fallback otherwise.

Checked on x86_64-linux-gnu and microblaze-linux-gnu.
misc/pselect.c
sysdeps/unix/sysv/linux/microblaze/pselect.c [new file with mode: 0644]
sysdeps/unix/sysv/linux/pselect.c