summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-11-23 11:20:53 +0100
committerFlorian Weimer <fweimer@redhat.com>2017-11-23 11:20:53 +0100
commitcccb6d4e87053ed63c74aee063fa84eb63ebf7b8 (patch)
treef1098c8ca0e6fa500e1e75f6b1c76650afe507ec /ChangeLog
parent59d2cbb1fe4b8601d5cbd359c3806973eab6c62d (diff)
downloadglibc-cccb6d4e87053ed63c74aee063fa84eb63ebf7b8.tar.gz
glibc-cccb6d4e87053ed63c74aee063fa84eb63ebf7b8.tar.xz
glibc-cccb6d4e87053ed63c74aee063fa84eb63ebf7b8.zip
sigwait: Do not fail with EINTR and return error code [BZ #22478]
Since

commit 8b0e795aaa445e9167aa07b282c5720b35342c07
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Wed Nov 1 11:49:05 2017 -0200

    Simplify Linux sig{timed}wait{info} implementations

sigwait can fail with EINTR.  Applications do not expect that, and the
error code is not documented in POSIX or the manual pages.

This commit restores the previous behavior by retrying the system call
on EINTR.  It also returns the error code, not -1, on the remaing
errors.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog8
1 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 04fac09f2d..18b2aa9561 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2017-11-23  Florian Weimer  <fweimer@redhat.com>
 
+	[BZ #22478]
+	* sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Retry on EINTR.
+	Return error code, not -1.
+	* signal/tst-sigwait-eintr.c: New file.
+	* signal/Makefile (tests): Add tst-sigwait-eintr.
+
+2017-11-23  Florian Weimer  <fweimer@redhat.com>
+
 	Linux: Add memfd_create system call wrapper
 	* sysdeps/unix/sysv/linux/Makefile [misc] (tests): Add
 	tst-memfd_create.