summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r--libc/sysdeps/linux/common/wait3.c16
-rw-r--r--libc/sysdeps/linux/common/wait4.c16
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