Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
41
42for x in `seq 0 $((NR_CPUS * 4))`; do
43 log=`mktemp`
44 logs=$logs\ $log
45 ./za-test >$log &
46 pids=$pids\ $!
47done
48
49# Wait for all child processes to be created:
50sleep 10
51
52while :; do
53 kill -USR1 $pids
54done &
55pids=$pids\ $!
56
57wait
58
59exit 1