1 #!/bin/bash 1 #!/bin/bash 2 # SPDX-License-Identifier: GPL-2.0-only 2 # SPDX-License-Identifier: GPL-2.0-only 3 # Copyright (C) 2015-2019 ARM Limited. 3 # Copyright (C) 2015-2019 ARM Limited. 4 # Original author: Dave Martin <Dave.Martin@arm 4 # Original author: Dave Martin <Dave.Martin@arm.com> 5 5 6 set -ue 6 set -ue 7 7 8 NR_CPUS=`nproc` 8 NR_CPUS=`nproc` 9 9 10 pids= 10 pids= 11 logs= 11 logs= 12 12 13 cleanup () { 13 cleanup () { 14 trap - INT TERM CHLD 14 trap - INT TERM CHLD 15 set +e 15 set +e 16 16 17 if [ -n "$pids" ]; then 17 if [ -n "$pids" ]; then 18 kill $pids 18 kill $pids 19 wait $pids 19 wait $pids 20 pids= 20 pids= 21 fi 21 fi 22 22 23 if [ -n "$logs" ]; then 23 if [ -n "$logs" ]; then 24 cat $logs 24 cat $logs 25 rm $logs 25 rm $logs 26 logs= 26 logs= 27 fi 27 fi 28 } 28 } 29 29 30 interrupt () { 30 interrupt () { 31 cleanup 31 cleanup 32 exit 0 32 exit 0 33 } 33 } 34 34 35 child_died () { 35 child_died () { 36 cleanup 36 cleanup 37 exit 1 37 exit 1 38 } 38 } 39 39 40 trap interrupt INT TERM EXIT 40 trap interrupt INT TERM EXIT 41 41 42 for x in `seq 0 $((NR_CPUS * 4))`; do 42 for x in `seq 0 $((NR_CPUS * 4))`; do 43 log=`mktemp` 43 log=`mktemp` 44 logs=$logs\ $log 44 logs=$logs\ $log 45 ./za-test >$log & 45 ./za-test >$log & 46 pids=$pids\ $! 46 pids=$pids\ $! 47 done 47 done 48 48 49 # Wait for all child processes to be created: 49 # Wait for all child processes to be created: 50 sleep 10 50 sleep 10 51 51 52 while :; do 52 while :; do 53 kill -USR1 $pids 53 kill -USR1 $pids 54 done & 54 done & 55 pids=$pids\ $! 55 pids=$pids\ $! 56 56 57 wait 57 wait 58 58 59 exit 1 59 exit 1
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.