diff options
Diffstat (limited to 'libc/sysdeps/linux')
| -rw-r--r-- | libc/sysdeps/linux/common/wait3.c | 16 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/wait4.c | 16 | 
2 files changed, 11 insertions, 21 deletions
| diff --git a/libc/sysdeps/linux/common/wait3.c b/libc/sysdeps/linux/common/wait3.c index 0d480ec54..a4391fd18 100644 --- a/libc/sysdeps/linux/common/wait3.c +++ b/libc/sysdeps/linux/common/wait3.c @@ -5,20 +5,12 @@   */  #include <sys/syscall.h> -#include <sys/types.h> -#include <sys/wait.h> -#include <sys/resource.h> -#if defined __USE_BSD +#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED +# include <sys/wait.h> - -/* Wait for a child to exit.  When one does, put its status in *STAT_LOC and - * return its process ID.  For errors return (pid_t) -1.  If USAGE is not nil, - * store information about the child's resource usage (as a `struct rusage') - * there.  If the WUNTRACED bit is set in OPTIONS, return status for stopped - * children; otherwise don't.  */ -pid_t wait3 (__WAIT_STATUS stat_loc, int options, struct rusage * usage) +pid_t wait3(__WAIT_STATUS stat_loc, int options, struct rusage *usage)  { -      return wait4 (WAIT_ANY, stat_loc, options, usage); +      return __wait4_nocancel(WAIT_ANY, stat_loc, options, usage);  }  #endif diff --git a/libc/sysdeps/linux/common/wait4.c b/libc/sysdeps/linux/common/wait4.c index dceab41b6..b7952ad81 100644 --- a/libc/sysdeps/linux/common/wait4.c +++ b/libc/sysdeps/linux/common/wait4.c @@ -8,18 +8,16 @@   */  #include <sys/syscall.h> -#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED  #include <sys/wait.h> -#include <sys/resource.h> +# define __NR___syscall_wait4 __NR_wait4 +static __always_inline _syscall4(int, __syscall_wait4, __kernel_pid_t, pid, +				 int *, status, int, opts, struct rusage *, rusage) -#define __NR___syscall_wait4 __NR_wait4 -static __inline__ _syscall4(int, __syscall_wait4, __kernel_pid_t, pid, -		int *, status, int, opts, struct rusage *, rusage) - -pid_t wait4(pid_t pid, int *status, int opts, struct rusage *rusage) +pid_t __wait4_nocancel(pid_t pid, int *status, int opts, struct rusage *rusage)  { -	return (__syscall_wait4(pid, status, opts, rusage)); +	return __syscall_wait4(pid, status, opts, rusage);  } -libc_hidden_def(wait4) +#ifdef __USE_BSD +strong_alias(__wait4_nocancel,wait4)  #endif | 
