This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/16364] sleep may leave SIGCHLD blocked on sync cancellation on GNU/Linux
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Fri, 20 Nov 2015 14:13:48 +0000
- Subject: [Bug libc/16364] sleep may leave SIGCHLD blocked on sync cancellation on GNU/Linux
- Auto-submitted: auto-generated
- References: <bug-16364-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16364
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 8c873bf0190740ac1102e13ff7aeb6c08048abfd (commit)
from 31cf39421bae23ffc7b6c6a229e14f8faa41608f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=8c873bf0190740ac1102e13ff7aeb6c08048abfd
commit 8c873bf0190740ac1102e13ff7aeb6c08048abfd
Author: Adhemerval Zanella <adhemerval.zanella@linaro.com>
Date: Sun Nov 8 20:06:42 2015 -0200
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.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++
sysdeps/posix/sleep.c | 9 ---
sysdeps/unix/sysv/linux/sleep.c | 149 ---------------------------------------
3 files changed, 6 insertions(+), 158 deletions(-)
delete mode 100644 sysdeps/unix/sysv/linux/sleep.c
--
You are receiving this mail because:
You are on the CC list for the bug.