aboutsummaryrefslogtreecommitdiff
path: root/posix/tst-spawn7.c
diff options
context:
space:
mode:
Diffstat (limited to 'posix/tst-spawn7.c')
-rw-r--r--posix/tst-spawn7.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/posix/tst-spawn7.c b/posix/tst-spawn7.c
index fb06915cb7..cc4498830b 100644
--- a/posix/tst-spawn7.c
+++ b/posix/tst-spawn7.c
@@ -24,7 +24,9 @@
#include <support/check.h>
#include <support/xsignal.h>
#include <support/xunistd.h>
+#include <sys/wait.h>
#include <unistd.h>
+#include <tst-spawn.h>
/* Nonzero if the program gets called via `exec'. */
#define CMDLINE_OPTIONS \
@@ -81,14 +83,13 @@ spawn_signal_test (const char *type, const posix_spawnattr_t *attr)
{
spargs[check_type_argc] = (char*) type;
- pid_t pid;
- int status;
+ PID_T_TYPE pid;
+ siginfo_t sinfo;
TEST_COMPARE (posix_spawn (&pid, spargs[0], NULL, attr, spargs, environ), 0);
- TEST_COMPARE (xwaitpid (pid, &status, 0), pid);
- TEST_VERIFY (WIFEXITED (status));
- TEST_VERIFY (!WIFSIGNALED (status));
- TEST_COMPARE (WEXITSTATUS (status), 0);
+ TEST_COMPARE (WAITID (P_ALL, 0, &sinfo, WEXITED), 0);
+ TEST_COMPARE (sinfo.si_code, CLD_EXITED);
+ TEST_COMPARE (sinfo.si_status, 0);
}
static void