Module Name: src
Committed By: gson
Date: Fri May 31 14:40:48 UTC 2013
Modified Files:
src/tests/kernel: t_umountstress.sh
Log Message:
Don't rely on "kill -0" to check whether a background shell command
has exited; it does not work reliably because the process may still
exist as a zombie. OK mlelstv.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/tests/kernel/t_umountstress.sh
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/kernel/t_umountstress.sh
diff -u src/tests/kernel/t_umountstress.sh:1.4 src/tests/kernel/t_umountstress.sh:1.5
--- src/tests/kernel/t_umountstress.sh:1.4 Sun Apr 28 15:49:58 2013
+++ src/tests/kernel/t_umountstress.sh Fri May 31 14:40:48 2013
@@ -1,4 +1,4 @@
-# $NetBSD: t_umountstress.sh,v 1.4 2013/04/28 15:49:58 mlelstv Exp $
+# $NetBSD: t_umountstress.sh,v 1.5 2013/05/31 14:40:48 gson Exp $
#
# Copyright (c) 2013 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -69,16 +69,16 @@ EOF
for k in 0 1 2 3 4 5 6 7 8 9; do
if ! dd msgfmt=quiet if=/dev/zero \
count=1 of=${TMPMP}/test$i$j$k; then
- echo 1
+ echo 1 >result
exit
fi
done
done
- echo 0
- ) > result &
+ echo 0 >result
+ ) &
busypid=$!
- while kill 2>/dev/null -0 $busypid; do
+ while ! test -f result; do
if err=$(umount ${TMPMP} 2>&1); then
kill $busypid
exec 9<&-
@@ -150,16 +150,16 @@ EOF
for j in 0 1 2 3 4 5 6 7 8 9; do
for k in 0 1 2 3 4 5 6 7 8 9; do
if ! out=$(mount); then
- echo 1
+ echo 1 >result
exit
fi
done
done
- echo 0
- ) > result &
+ echo 0 >result
+ ) &
busypid=$!
- while kill 2>/dev/null -0 $busypid; do
+ while ! test -f result; do
if err=$(umount ${TMPMP} 2>&1); then
if ! mount -o async ${BVND}${MPART} ${TMPMP}; then
kill $busypid