Remove signal handling for nanosleep (bug 16364)
commit8c873bf0190740ac1102e13ff7aeb6c08048abfd
authorAdhemerval Zanella <adhemerval.zanella@linaro.com>
Sun, 8 Nov 2015 22:06:42 +0000 (8 20:06 -0200)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 20 Nov 2015 13:16:07 +0000 (20 11:16 -0200)
treea6dd51d1f25c3222a42dbab327be0d44d52888db
parent31cf39421bae23ffc7b6c6a229e14f8faa41608f
Remove signal handling for nanosleep (bug 16364)

Linux 2.6.32 and forward do not show the issue regarding SysV SIGCHLD
vs. SIG_IGN for nanosleep which make it feasible to use it for sleep
implementation without requiring any hacking to handle the spurious
wake up.  The issue is likely being fixed before 2.6 and git
history [1] [2].

This patch simplifies the sleep code to call nanosleep directly by
using the posix default version.  It also removes the early cancellation
tests for zero argument, since nanosleep will handle cancellation
in this case.

[1] https://lkml.org/lkml/2004/11/25/5
[2] https://lkml.org/lkml/2003/11/8/50

Checked on x86_64, ppc64le, and aarch64.

[BZ #16364]
* sysdeps/unix/sysv/linux/sleep.c: Remove file
* sysdeps/posix/sleep.c (__sleep): Simplify cancellation handling.
ChangeLog
sysdeps/posix/sleep.c
sysdeps/unix/sysv/linux/sleep.c [deleted file]