From: Eric Sandeen Date: Sun, 17 Jan 2010 16:29:23 +0000 (-0600) Subject: xfstests 131: kill locktest process in cleanup & better error msgs X-Git-Tag: v1.1.0~228 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c3d103e121717c53e5fb9c4759e55c34dc046db8;p=xfstests-dev.git xfstests 131: kill locktest process in cleanup & better error msgs I occasionally get failures in 131 like: gethostbyname: Success 1) perror is the wrong thing for gethostbyname errors, so this is confusing 2) the locktest thread doesn't get killed, so the fs is busy and the next test fails when it can't unmount Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig --- diff --git a/131 b/131 index b095c2f4..de83fe28 100755 --- a/131 +++ b/131 @@ -34,6 +34,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _cleanup() { + kill $locktest_pid2 + kill $locktest_pid1 _cleanup_testdir } @@ -60,11 +62,13 @@ fi # Start the server src/locktest -p $PORT $TESTFILE > $testdir/server.out 2>&1 & +locktest_pid1=$! sleep 1 # Start the client src/locktest -p $PORT -h localhost $TESTFILE > $testdir/client.out 2>&1 +locktest_pid2=$! result=$? if [ $result -eq 0 ]; then echo success! diff --git a/src/locktest.c b/src/locktest.c index e35f6a6a..7552ace4 100644 --- a/src/locktest.c +++ b/src/locktest.c @@ -44,6 +44,8 @@ #define PLATFORM_CLEANUP() /*no-op*/ #define LL "ll" +extern int h_errno; + #define inet_aton(STRING, INADDRP) \ (((INADDRP)->s_addr = inet_addr(STRING)) == -1 ? 0 : 1) @@ -937,7 +939,10 @@ main(int argc, char *argv[]) struct hostent *servInfo; if ((servInfo = gethostbyname(host)) == NULL) { - perror("gethostbyname"); + printf("Couldn't get hostbyname for %s", host); + if (h_errno == HOST_NOT_FOUND) + printf(": host not found"); + printf("\n"); exit(1); /*NOTREACHED*/ }