1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/bin/bash
- # SPDX-License-Identifier: GPL-2.0-only
- # Copyright (C) 2015-2019 ARM Limited.
- # Original author: Dave Martin <[email protected]>
- set -ue
- NR_CPUS=`nproc`
- pids=
- logs=
- cleanup () {
- trap - INT TERM CHLD
- set +e
- if [ -n "$pids" ]; then
- kill $pids
- wait $pids
- pids=
- fi
- if [ -n "$logs" ]; then
- cat $logs
- rm $logs
- logs=
- fi
- }
- interrupt () {
- cleanup
- exit 0
- }
- child_died () {
- cleanup
- exit 1
- }
- trap interrupt INT TERM EXIT
- for x in `seq 0 $((NR_CPUS * 4))`; do
- log=`mktemp`
- logs=$logs\ $log
- ./ssve-test >$log &
- pids=$pids\ $!
- done
- # Wait for all child processes to be created:
- sleep 10
- while :; do
- kill -USR1 $pids
- done &
- pids=$pids\ $!
- wait
- exit 1
|