From 00d1a4bb2000bd726cf5e1093cba94b0e4f62090 Mon Sep 17 00:00:00 2001 From: Thomas Pfaff <tpfaff@gmx.net> Date: Tue, 21 Jan 2003 20:51:14 +0000 Subject: [PATCH] * winsup.api/pthread/cancel9.c: Wait in mainthread until child process has terminated. --- winsup/testsuite/ChangeLog | 5 +++++ winsup/testsuite/winsup.api/pthread/cancel9.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/winsup/testsuite/ChangeLog b/winsup/testsuite/ChangeLog index 41a36a963..54e88a8ef 100644 --- a/winsup/testsuite/ChangeLog +++ b/winsup/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-01-21 Thomas Pfaff <tpfaff@gmx.net> + + * winsup.api/pthread/cancel9.c: Wait in mainthread until child + process has terminated. + 2003-01-14 Thomas Pfaff <tpfaff@gmx.net> * winsup.api/pthread/cancel10.c: New test. diff --git a/winsup/testsuite/winsup.api/pthread/cancel9.c b/winsup/testsuite/winsup.api/pthread/cancel9.c index 7bc958a0a..f9f05cc65 100644 --- a/winsup/testsuite/winsup.api/pthread/cancel9.c +++ b/winsup/testsuite/winsup.api/pthread/cancel9.c @@ -41,11 +41,13 @@ #include "test.h" +static pid_t pid; + static void *Thread(void *punused) { int res; - pid_t pid = fork (); + pid = fork (); assert (pid != -1); switch (pid) { @@ -61,6 +63,8 @@ static void *Thread(void *punused) int main (void) { + int res; + void * result; pthread_t t; @@ -69,6 +73,7 @@ int main (void) assert (pthread_cancel (t) == 0); assert (pthread_join (t, &result) == 0); assert (result == PTHREAD_CANCELED); + assert (waitpid (pid, &res, 0) != -1); return 0; }