aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorStefan Liebler <stli@linux.vnet.ibm.com>2018-04-12 09:37:26 +0200
committerStefan Liebler <stli@linux.vnet.ibm.com>2018-04-12 09:37:26 +0200
commitd8abfab7d46a02aa1d7f2985e2df8a890ad7054f (patch)
tree861a27a4a694068af6529de56b097dea34f3ab43 /ChangeLog
parent583a27d525ae189bdfaa6784021b92a9a1dae12e (diff)
downloadglibc-d8abfab7d46a02aa1d7f2985e2df8a890ad7054f.tar
glibc-d8abfab7d46a02aa1d7f2985e2df8a890ad7054f.tar.gz
glibc-d8abfab7d46a02aa1d7f2985e2df8a890ad7054f.tar.bz2
glibc-d8abfab7d46a02aa1d7f2985e2df8a890ad7054f.zip
S390: Fix struct sigaction for 31bit in kernel_sigaction.h.
The recent commit b4a5d26d8835d972995f0a0a2f805a8845bafa0b "linux: Consolidate sigaction implementation" changed the definition of struct sigaction for s390 (31bit). Unfortunately the order of the fields were wrong. This leads to blocking testcases e.g. nptl/tst-sem11. A thread which blocks due to sem_wait() is cancelled via pthread_cancel() and the signal-handler sigcancel_handler (see <glibc-src>/nptl/nptl-init.c is called. But it just returns as the siginfo_t argument is not setup by the kernel. Then the main-thread is blocking due to pthread_join(). The flag SA_SIGINFO is set in sa_flags in struct sigaction and is copied to the "kernel_sigaction.h" struct by the sigaction() call, but due to the wrong ordering of the struct fields, the kernel does not recognize it.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog6
1 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2b1560950f..dac4fff1c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-04-12 Stefan Liebler <stli@linux.vnet.ibm.com>
+
+ * sysdeps/unix/sysv/linux/s390/kernel_sigaction.h
+ (struct kernel_sigaction): Use the same definition on 31bit as is used
+ on 64bit.
+
2018-04-09 Florian Weimer <fweimer@redhat.com>
[BZ #23037]