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