Fix wait3 namespace (bug 21625)
Commit Message
The wait3 function was removed in the 2001 edition of POSIX.
sys/wait.h wrongly declares it for the 2001 and 2008 editions of POSIX
when XSI features are enabled. This patch fixes the conditionals.
Tested for x86_64.
2017-06-19 Joseph Myers <joseph@codesourcery.com>
[BZ #21625]
* posix/sys/wait.h (strust rusage forward declaration): Change
[__USE_XOPEN_EXTENDED] conditional to [__USE_XOPEN_EXTENDED &&
!__USE_XOPEN2K].
(wait3): Likewise.
Comments
On 06/19/2017 06:17 PM, Joseph Myers wrote:
> The wait3 function was removed in the 2001 edition of POSIX.
> sys/wait.h wrongly declares it for the 2001 and 2008 editions of POSIX
> when XSI features are enabled. This patch fixes the conditionals.
>
> Tested for x86_64.
>
> 2017-06-19 Joseph Myers <joseph@codesourcery.com>
>
> [BZ #21625]
> * posix/sys/wait.h (strust rusage forward declaration): Change
> [__USE_XOPEN_EXTENDED] conditional to [__USE_XOPEN_EXTENDED &&
> !__USE_XOPEN2K].
> (wait3): Likewise.
Looks okay to me based on your explanation.
Thanks,
Florian
@@ -133,7 +133,8 @@ extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop,
int __options);
#endif
-#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
+#if defined __USE_MISC \
+ || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K)
/* This being here makes the prototypes valid whether or not
we have already included <sys/resource.h> to define `struct rusage'. */
struct rusage;