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.com> 5 6set -ue 7 8NR_CPUS=`nproc` 9 10pids= 11logs= 12 13cleanup () { 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 30interrupt () { 31 cleanup 32 exit 0 33} 34 35child_died () { 36 cleanup 37 exit 1 38} 39 40trap interrupt INT TERM EXIT 41trap child_died CHLD 42 43for x in `seq 0 $((NR_CPUS * 4))`; do 44 log=`mktemp` 45 logs=$logs\ $log 46 ./fpsimd-test >$log & 47 pids=$pids\ $! 48done 49 50# Wait for all child processes to be created: 51sleep 10 52 53while :; do 54 kill -USR1 $pids 55done & 56pids=$pids\ $! 57 58wait 59 60exit 1 61