glibc/sysdeps
Adhemerval Zanella 8b0e795aaa Simplify Linux sig{timed}wait{info} implementations
This patch simplifies sig{timed}wait{info} by:

  - Assuming __NR_rt_sigtimedwait existence on all architectures due minimum
    kernel version requirement (it pre-dates Linux git inclusion for Linux
    2.6.12).

  - Call __sigtimedwait on both sigwait and sigwaitinfo.

  - Now that sigwait is based on an internal sigtimedwait call and it is
    present of both libc.so and libpthread.so we need to add an external
    private definition of __sigtimedwait for libpthread.so call.

Checked on x86_64-linux-gnu.

	* sysdeps/unix/sysv/linux/Versions (libc) [GLIBC_PRIVATE]: Add
	__sigtimedwait.
	* sysdeps/unix/sysv/linux/sigtimedwait.c: Simplify includes and
	assume __NR_rt_sigtimedwait.
	* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Call __sigtimedwait
	and add LIBC_CANCEL_HANDLED for cancellation marking.
	* sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise.

Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Reviewed-by: Zack Weinberg <zackw@panix.com>
2017-11-06 17:37:57 -02:00
..
aarch64 aarch64: optimize _dl_tlsdesc_dynamic fast path 2017-11-03 14:50:55 +00:00
alpha
arm arm: Implement memchr ifunc selection in C 2017-11-06 17:37:57 -02:00
generic
gnu
hppa
i386 x86: Add sysdeps/x86/sysdep.h 2017-11-01 05:37:26 -07:00
ia64 Add bits/floatn.h defines for more _FloatN / _FloatNx types. 2017-10-20 21:42:51 +00:00
ieee754 Add bits/floatn.h defines for more _FloatN / _FloatNx types. 2017-10-20 21:42:51 +00:00
init_array
m68k m68k: Update elf_machine_load_address for static PIE 2017-10-20 03:36:47 -07:00
mach
microblaze
mips Replace "if if " with "if " in comments 2017-10-25 08:05:51 -07:00
nios2
nptl
posix sysconf: Fix missing definition of UIO_MAXIOV on Linux [BZ #22321] 2017-10-20 04:10:15 +02:00
powerpc Do not declare _Float128 support for powerpc64le -mlong-double-64 (bug 22402). 2017-11-06 13:26:15 +00:00
pthread
s390
sh
sparc
tile
unix Simplify Linux sig{timed}wait{info} implementations 2017-11-06 17:37:57 -02:00
wordsize-32
wordsize-64
x86 x86: Add sysdeps/x86/sysdep.h 2017-11-01 05:37:26 -07:00
x86_64 x86: Add sysdeps/x86/sysdep.h 2017-11-01 05:37:26 -07:00