diff options
author | Florian Weimer <fweimer@redhat.com> | 2016-04-14 08:54:57 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2016-04-14 08:54:57 +0200 |
commit | b49ab5f4503f36dcbf43f821f817da66b2931fe6 (patch) | |
tree | 3b3eb99facf62df3f8f436ef71a66aee7c953c2c /sysdeps | |
parent | 5f5682b9654101ccaf375c2814cbddbe6033a725 (diff) | |
download | glibc-b49ab5f4503f36dcbf43f821f817da66b2931fe6.tar glibc-b49ab5f4503f36dcbf43f821f817da66b2931fe6.tar.gz glibc-b49ab5f4503f36dcbf43f821f817da66b2931fe6.tar.bz2 glibc-b49ab5f4503f36dcbf43f821f817da66b2931fe6.zip |
Remove union wait [BZ #19613]
The overloading approach in the W* macros was incompatible with
integer expressions of a type different from int. Applications
using union wait and these macros will have to migrate to the
POSIX-specified int status type.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/mach/hurd/wait4.c | 3 | ||||
-rw-r--r-- | sysdeps/posix/wait.c | 2 | ||||
-rw-r--r-- | sysdeps/posix/wait3.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/bsd/wait.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/bsd/wait3.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/bsd/waitpid.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/wait.c | 2 |
7 files changed, 7 insertions, 8 deletions
diff --git a/sysdeps/mach/hurd/wait4.c b/sysdeps/mach/hurd/wait4.c index 3bc9fa83fb..f392a984db 100644 --- a/sysdeps/mach/hurd/wait4.c +++ b/sysdeps/mach/hurd/wait4.c @@ -22,8 +22,7 @@ #include <hurd/port.h> pid_t -__wait4 (pid_t pid, __WAIT_STATUS_DEFN stat_loc, int options, - struct rusage *usage) +__wait4 (pid_t pid, int *stat_loc, int options, struct rusage *usage) { pid_t dead; error_t err; diff --git a/sysdeps/posix/wait.c b/sysdeps/posix/wait.c index 7f1d71a45f..210ece8a07 100644 --- a/sysdeps/posix/wait.c +++ b/sysdeps/posix/wait.c @@ -21,7 +21,7 @@ /* 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. */ __pid_t -__libc_wait (__WAIT_STATUS_DEFN stat_loc) +__libc_wait (int *stat_loc) { return __waitpid (WAIT_ANY, (int *) stat_loc, 0); } diff --git a/sysdeps/posix/wait3.c b/sysdeps/posix/wait3.c index 2e76892bff..cf43d973a7 100644 --- a/sysdeps/posix/wait3.c +++ b/sysdeps/posix/wait3.c @@ -26,7 +26,7 @@ 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) +__wait3 (int *stat_loc, int options, struct rusage *usage) { if (usage != NULL) { diff --git a/sysdeps/unix/bsd/wait.c b/sysdeps/unix/bsd/wait.c index 31de60e764..a9e29f21f7 100644 --- a/sysdeps/unix/bsd/wait.c +++ b/sysdeps/unix/bsd/wait.c @@ -23,7 +23,7 @@ /* 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. */ __pid_t -__libc_wait (__WAIT_STATUS_DEFN stat_loc) +__libc_wait (int *stat_loc) { return __wait4 (WAIT_ANY, stat_loc, 0, (struct rusage *) NULL); } diff --git a/sysdeps/unix/bsd/wait3.c b/sysdeps/unix/bsd/wait3.c index 3f95ac7881..ee33a657e9 100644 --- a/sysdeps/unix/bsd/wait3.c +++ b/sysdeps/unix/bsd/wait3.c @@ -25,7 +25,7 @@ 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) +__wait3 (int *stat_loc, int options, struct rusage *usage) { return __wait4 (WAIT_ANY, stat_loc, options, usage); } diff --git a/sysdeps/unix/bsd/waitpid.c b/sysdeps/unix/bsd/waitpid.c index 083c686ad0..cfe56141a3 100644 --- a/sysdeps/unix/bsd/waitpid.c +++ b/sysdeps/unix/bsd/waitpid.c @@ -35,7 +35,7 @@ pid_t __waitpid (pid_t pid, int *stat_loc, int options) { - return __wait4 (pid, (union wait *) stat_loc, options, NULL); + return __wait4 (pid, stat_loc, options, NULL); } libc_hidden_def (__waitpid) diff --git a/sysdeps/unix/sysv/linux/wait.c b/sysdeps/unix/sysv/linux/wait.c index 71f9044b60..9b7c9c9a94 100644 --- a/sysdeps/unix/sysv/linux/wait.c +++ b/sysdeps/unix/sysv/linux/wait.c @@ -24,7 +24,7 @@ /* 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. */ pid_t -__libc_wait (__WAIT_STATUS_DEFN stat_loc) +__libc_wait (int *stat_loc) { pid_t result = SYSCALL_CANCEL (wait4, WAIT_ANY, stat_loc, 0, (struct rusage *) NULL); |