From b3528b0048f24e1f3019860c951f17f09e54ff8b Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Fri, 28 Jan 2022 17:38:38 -0300 Subject: linux: Add P_PIDFD It was added on Linux 5.4 (3695eae5fee0605f316fbaad0b9e3de791d7dfaf) to extend waitid to wait on pidfd. Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell --- posix/Makefile | 2 +- posix/sys/wait.h | 7 +------ sysdeps/mach/hurd/bits/types/idtype_t.h | 12 ++++++++++++ sysdeps/unix/sysv/linux/bits/types/idtype_t.h | 14 ++++++++++++++ 4 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 sysdeps/mach/hurd/bits/types/idtype_t.h create mode 100644 sysdeps/unix/sysv/linux/bits/types/idtype_t.h diff --git a/posix/Makefile b/posix/Makefile index 9b30b53a7c..cfebb8ef06 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -32,7 +32,7 @@ headers := sys/utsname.h sys/times.h sys/wait.h sys/types.h unistd.h \ bits/waitflags.h bits/waitstatus.h sys/unistd.h sched.h \ bits/sched.h bits/cpu-set.h re_comp.h wait.h bits/environments.h \ cpio.h spawn.h bits/unistd.h bits/types/struct_sched_param.h \ - bits/unistd_ext.h + bits/unistd_ext.h bits/types/idtype_t.h routines := \ uname \ diff --git a/posix/sys/wait.h b/posix/sys/wait.h index 79bcdb013d..4d649cd4b1 100644 --- a/posix/sys/wait.h +++ b/posix/sys/wait.h @@ -71,12 +71,7 @@ typedef __pid_t pid_t; /* 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; +# include #endif diff --git a/sysdeps/mach/hurd/bits/types/idtype_t.h b/sysdeps/mach/hurd/bits/types/idtype_t.h new file mode 100644 index 0000000000..207eb777ba --- /dev/null +++ b/sysdeps/mach/hurd/bits/types/idtype_t.h @@ -0,0 +1,12 @@ +#ifndef __idtype_t_defined +#define __idtype_t_defined + +/* The following values are used by the `waitid' function. */ +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 diff --git a/sysdeps/unix/sysv/linux/bits/types/idtype_t.h b/sysdeps/unix/sysv/linux/bits/types/idtype_t.h new file mode 100644 index 0000000000..fc084c7774 --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/types/idtype_t.h @@ -0,0 +1,14 @@ +#ifndef __idtype_t_defined +#define __idtype_t_defined + +/* The following values are used by the `waitid' function. */ +typedef enum +{ + P_ALL, /* Wait for any child. */ + P_PID, /* Wait for specified process. */ + P_PGID, /* Wait for members of process group. */ + P_PIDFD, /* Wait for the child referred by the PID file + descriptor. */ +} idtype_t; + +#endif -- cgit 1.4.1