You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
674 B
45 lines
674 B
#!/system/bin/sh
|
|
# Usage: spin_n_threads.sh <num_threads> [<nice>]
|
|
# spin_n_threads.sh kill
|
|
|
|
TGID_FILE=/data/local/tmp/spin_n_threads_tgid.txt
|
|
|
|
spin_loop() {
|
|
while :
|
|
do
|
|
NUM=$(expr 1 + 1)
|
|
done
|
|
}
|
|
|
|
clean_up() {
|
|
trap - SIGINT SIGTERM SIGKILL
|
|
kill -- -$$
|
|
}
|
|
|
|
NUM_THREADS=1
|
|
if [ ! -z ${1} ]; then
|
|
if [ ${1} == "kill" ]; then
|
|
TGID=$(cat ${TGID_FILE})
|
|
kill -- -${TGID}
|
|
exit 0
|
|
fi
|
|
|
|
if [ ${1} -gt 1 ]; then
|
|
NUM_THREADS=${1}
|
|
else
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
if [ ! -z ${2} ]; then
|
|
renice -n ${2} -p $$
|
|
fi
|
|
|
|
# Register cleanup on trap
|
|
trap clean_up SIGINT SIGTERM SIGKILL
|
|
for i in $(seq 1 $NUM_THREADS ); do
|
|
spin_loop &
|
|
done
|
|
|
|
echo $$ > ${TGID_FILE}
|