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 <sandeen@sandeen.net>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Eric Sandeen
2010-01-17 10:29:23 -06:00
parent 819521a94c
commit c3d103e121
2 changed files with 10 additions and 1 deletions
+4
View File
@@ -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!
+6 -1
View File
@@ -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*/
}