mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	In sys/wait.h, waitid and associated constants and types are UX-shaded in XPG4.2 (so not in XPG4), and XSI-shaded in POSIX before 2008, so should be appropriately conditional in the headers. This patch fixes the conditionals accordingly. (WCONTINUED is actually still XSI-shaded in POSIX.1:2008, but W* is also reserved there without XSI-shading, so nothing special needs to be done about the conditionals on WCONTINUED to conform to POSIX.1:2008 namespace rules.) Tested for x86_64. [BZ #21561] * posix/sys/wait.h (idtype_t): Change [__USE_XOPEN] condition to [__USE_XOPEN_EXTENDED]. (id_t): Likewise. (include of <bits/types/siginfo_t.h): Likewise. (waitid): Likewise. * sysdeps/unix/sysv/linux/bits/waitflags.h (WSTOPPED): Condition on [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]. (WEXITED): Likewise. (WCONTINUED): Likewise. (WNOWAIT): Likewise. * conform/Makefile (test-xfail-XPG4/stdlib.h/conform): Remove. (test-xfail-XPG4/sys/wait.h/conform): Likewise. (test-xfail-POSIX/sys/wait.h/conform): Likewise.
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Definitions of flag bits for `waitpid' et al.
 | 
						|
   Copyright (C) 1992-2017 Free Software Foundation, Inc.
 | 
						|
   This file is part of the GNU C Library.
 | 
						|
 | 
						|
   The GNU C Library is free software; you can redistribute it and/or
 | 
						|
   modify it under the terms of the GNU Lesser General Public
 | 
						|
   License as published by the Free Software Foundation; either
 | 
						|
   version 2.1 of the License, or (at your option) any later version.
 | 
						|
 | 
						|
   The GNU C Library is distributed in the hope that it will be useful,
 | 
						|
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
						|
   Lesser General Public License for more details.
 | 
						|
 | 
						|
   You should have received a copy of the GNU Lesser General Public
 | 
						|
   License along with the GNU C Library; if not, see
 | 
						|
   <http://www.gnu.org/licenses/>.  */
 | 
						|
 | 
						|
#if !defined _SYS_WAIT_H && !defined _STDLIB_H
 | 
						|
# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
/* Bits in the third argument to `waitpid'.  */
 | 
						|
#define	WNOHANG		1	/* Don't block waiting.  */
 | 
						|
#define	WUNTRACED	2	/* Report status of stopped children.  */
 | 
						|
 | 
						|
/* Bits in the fourth argument to `waitid'.  */
 | 
						|
#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 | 
						|
# define WSTOPPED	2	/* Report stopped child (same as WUNTRACED). */
 | 
						|
# define WEXITED	4	/* Report dead child.  */
 | 
						|
# define WCONTINUED	8	/* Report continued child.  */
 | 
						|
# define WNOWAIT	0x01000000 /* Don't reap, just poll status.  */
 | 
						|
#endif
 | 
						|
 | 
						|
#define __WNOTHREAD     0x20000000 /* Don't wait on children of other threads
 | 
						|
				      in this group */
 | 
						|
#define __WALL		0x40000000 /* Wait for any child.  */
 | 
						|
#define __WCLONE	0x80000000 /* Wait for cloned process.  */
 |