diff options
Diffstat (limited to 'libc/sysdeps/linux/common')
-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 |