Fix sigevent namespace (bug 21543).
authorJoseph Myers <joseph@codesourcery.com>
Fri, 2 Jun 2017 19:47:03 +0000 (19:47 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 2 Jun 2017 19:47:03 +0000 (19:47 +0000)
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].

ChangeLog
signal/signal.h

index f37370c..8495478 100644 (file)
--- 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
index 947873e..21d628d 100644 (file)
@@ -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