0001
0002
0003
0004
0005
0006 set -ue
0007
0008 NR_CPUS=`nproc`
0009
0010 pids=
0011 logs=
0012
0013 cleanup () {
0014 trap - INT TERM CHLD
0015 set +e
0016
0017 if [ -n "$pids" ]; then
0018 kill $pids
0019 wait $pids
0020 pids=
0021 fi
0022
0023 if [ -n "$logs" ]; then
0024 cat $logs
0025 rm $logs
0026 logs=
0027 fi
0028 }
0029
0030 interrupt () {
0031 cleanup
0032 exit 0
0033 }
0034
0035 child_died () {
0036 cleanup
0037 exit 1
0038 }
0039
0040 trap interrupt INT TERM EXIT
0041
0042 for x in `seq 0 $((NR_CPUS * 4))`; do
0043 log=`mktemp`
0044 logs=$logs\ $log
0045 ./za-test >$log &
0046 pids=$pids\ $!
0047 done
0048
0049
0050 sleep 10
0051
0052 while :; do
0053 kill -USR1 $pids
0054 done &
0055 pids=$pids\ $!
0056
0057 wait
0058
0059 exit 1