Taking a look at the kernel source, the syscall id numbers for both
ppoll and pselect are properly reserved for ARM. The pselect function
(sys_pselect7) is defined in fs/select.c; it is a C function with no
specific arch dependent bits, but does require the sigmask_set_restore
function to be available (threading is partially arch specific). This is
a simple stub which sets the necessary flag (it lives in
arch/*arch*/include/thread_info.h on architectures where it is defined,
and sets the necessary flag in that architectures flag control block).

A couple greps of the source say that this flag is only used in a small
bit of the thread block control code, used to push or pop the saved
sigmask from the control block; implementing it shouldn't been too
difficult, although it is possible that there is more to implementation
than my greps can pick up.

glibc does not autodetect the presence of this call (possibly because
depending on the architecture, the number of arguments change (since
some arches can't hand 7 argument syscalls), so it will also have be
modified to use the kernel's ppoll/psystem mechanisms once they are
implemented in the kernel.

-- 
ARM architecture lacks support for pselect() and ppoll()
https://bugs.launchpad.net/bugs/319729
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to