about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-06-02 19:47:03 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-06-02 19:47:03 +0000
commit9c65eec494676789bc4695561e229ce3ee33be84 (patch)
tree3c72e99aaafa0a568521743bbe755d9839780b18
parent6257fcfd58479f6b7ae0fdde045b9ff144d543da (diff)
downloadglibc-9c65eec494676789bc4695561e229ce3ee33be84.tar.gz
glibc-9c65eec494676789bc4695561e229ce3ee33be84.tar.xz
glibc-9c65eec494676789bc4695561e229ce3ee33be84.zip
Fix sigevent namespace (bug 21543).
signal.h defines the sigevent structure and constants if defined
__USE_POSIX199309 || defined __USE_XOPEN_EXTENDED.  The
__USE_XOPEN_EXTENDED condition is incorrect; this structure does not
appear in XSI standards before Unix98 (which implies
__USE_POSIX199309).  This patch fixes the conditionals accordingly
(the existing conditional is correct for siginfo_t, just not for
sigevent).

Tested for x86_64.  This does not allow any conform/ XFAILs to be
removed because of other signal.h namespace bugs.

	[BZ #21543]
	* signal/signal.h: Only include <bits/types/sigevent_t.h> and
	<bits/sigevent-consts.h> if [__USE_POSIX199309], not if
	[__USE_XOPEN_EXTENDED].
-rw-r--r--ChangeLog7
-rw-r--r--signal/signal.h5
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f37370c60c..8495478e82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-06-02  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #21543]
+	* signal/signal.h: Only include <bits/types/sigevent_t.h> and
+	<bits/sigevent-consts.h> if [__USE_POSIX199309], not if
+	[__USE_XOPEN_EXTENDED].
+
 2017-06-02  Florian Weimer  <fweimer@redhat.com>
 
 	* sysdeps/posix/getaddrinfo.c (gethosts): Eliminate another
diff --git a/signal/signal.h b/signal/signal.h
index 947873ea8e..21d628dbd2 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -55,8 +55,11 @@ typedef __uid_t uid_t;
 
 #if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
 # include <bits/types/siginfo_t.h>
-# include <bits/types/sigevent_t.h>
 # include <bits/siginfo-consts.h>
+#endif
+
+#ifdef __USE_POSIX199309
+# include <bits/types/sigevent_t.h>
 # include <bits/sigevent-consts.h>
 #endif