brintos

brintos / linux-shallow public Read only

0
0
Text · 691 B · e2bd2cc Raw
60 lines · plain
1#!/bin/bash2# SPDX-License-Identifier: GPL-2.0-only3# Copyright (C) 2015-2019 ARM Limited.4# Original author: Dave Martin <Dave.Martin@arm.com>5 6set -ue7 8NR_CPUS=`nproc`9 10pids=11logs=12 13cleanup () {14	trap - INT TERM CHLD15	set +e16 17	if [ -n "$pids" ]; then18		kill $pids19		wait $pids20		pids=21	fi22 23	if [ -n "$logs" ]; then24		cat $logs25		rm $logs26		logs=27	fi28}29 30interrupt () {31	cleanup32	exit 033}34 35child_died () {36	cleanup37	exit 138}39 40trap interrupt INT TERM EXIT41 42for x in `seq 0 $((NR_CPUS * 4))`; do43	log=`mktemp`44	logs=$logs\ $log45	./ssve-test >$log &46	pids=$pids\ $!47done48 49# Wait for all child processes to be created:50sleep 1051 52while :; do53	kill -USR1 $pids54done &55pids=$pids\ $!56 57wait58 59exit 160