submitted-waitid
authorGNU Libc Maintainers <debian-glibc@lists.debian.org>
Fri, 10 Jan 2020 22:21:25 +0000 (22:21 +0000)
committerAurelien Jarno <aurel32@debian.org>
Fri, 10 Jan 2020 22:21:25 +0000 (22:21 +0000)
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name submitted-waitid.diff

bits/waitflags.h
posix/sys/wait.h
sysdeps/unix/sysv/linux/bits/waitflags.h

index 45d8fb0164b170b9a4ce71af1afbda733bd81969..cb42cd90dbe16191cc3267f9fa48af168237a522 100644 (file)
 /* Bits in the third argument to `waitpid'.  */
 #define        WNOHANG         1       /* Don't block waiting.  */
 #define        WUNTRACED       2       /* Report status of stopped children.  */
+
+/* The following values are used by the `waitid' function.  */
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
+# ifndef __ENUM_IDTYPE_T
+# define __ENUM_IDTYPE_T 1
+typedef enum
+{
+  P_ALL,               /* Wait for any child.  */
+  P_PID,               /* Wait for specified process.  */
+  P_PGID               /* Wait for members of process group.  */
+} idtype_t;
+# endif
+#endif
index 9bd4399ed79437d4aabe04947d8a95d8266d5aac..eaffcfb7b34612f1f045121944af7d38885590b1 100644 (file)
@@ -69,17 +69,6 @@ typedef __pid_t pid_t;
 # define W_STOPCODE(sig)       __W_STOPCODE (sig)
 #endif
 
-/* The following values are used by the `waitid' function.  */
-#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
-typedef enum
-{
-  P_ALL,               /* Wait for any child.  */
-  P_PID,               /* Wait for specified process.  */
-  P_PGID               /* Wait for members of process group.  */
-} idtype_t;
-#endif
-
-
 /* Wait for a child to die.  When one does, put its status in *STAT_LOC
    and return its process ID.  For errors, return (pid_t) -1.
 
index 790cfb3eef4e968ca6826ef5ba5ef9da4dca459b..b9595cac465dfef7aa78a2cb2290c3ba968128ab 100644 (file)
                                      in this group */
 #define __WALL         0x40000000 /* Wait for any child.  */
 #define __WCLONE       0x80000000 /* Wait for cloned process.  */
+
+/* The following values are used by the `waitid' function.  */
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
+# ifndef __ENUM_IDTYPE_T
+# define __ENUM_IDTYPE_T 1
+
+/* The Linux kernel defines these bare, rather than an enum,
+   which causes a conflict if the include order is reversed. */
+# undef P_ALL
+# undef P_PID
+# undef P_PGID
+
+typedef enum
+{
+  P_ALL,               /* Wait for any child.  */
+  P_PID,               /* Wait for specified process.  */
+  P_PGID               /* Wait for members of process group.  */
+} idtype_t;
+# endif
+#endif