From f999c862ec256fe170b3dac777b7f34df250c35a Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 20 Aug 2015 17:10:45 +0000 Subject: [PATCH] libgo/testsuite: another fix for killing the sleep process Avoid ps padding issues. Make sure we locate and kill just the sleep process. Reviewed-on: https://go-review.googlesource.com/13634 From-SVN: r227037 --- gcc/go/gofrontend/MERGE | 2 +- libgo/testsuite/gotest | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 10f8b043e06..b2f305b354c 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -448d30b696461a39870d1b8beb1195e411300bfd +ec34cfb0b148ff461df12c8f5270a06e2f438b7c The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/testsuite/gotest b/libgo/testsuite/gotest index b2ee3ec248d..79097b86bc6 100755 --- a/libgo/testsuite/gotest +++ b/libgo/testsuite/gotest @@ -504,6 +504,7 @@ xno) fi ${GL} *.o ${GOLIBS} + set +e if test "$bench" = ""; then if test "$trace" = "true"; then echo ./a.out -test.short -test.timeout=${timeout}s "$@" @@ -518,9 +519,11 @@ xno) wait $pid status=$? if ! test -f gotest-timeout; then - out=`ps -o pid,ppid | grep " $alarmpid" | cut -f1 -d" "` - if test "x$out" != "x"; then - kill -9 $out + sleeppid=`ps -o pid,ppid,cmd | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'` + kill $alarmpid + wait $alarmpid + if test "$sleeppid" != ""; then + kill $sleeppid fi fi else