#!/bin/sh # SPDX-License-Identifier: GPL-2.0 # description: Test creation and deletion of trace instances if [ ! -d instances ] ; then echo "no instance directory with this kernel" exit_unsupported; fi fail() { # mesg rmdir x y z 2>/dev/null echo $1 set -e exit $FAIL } cd instances # we don't want to fail on error set +e mkdir x rmdir x result=$? if [ $result -ne 0 ]; then echo "instance rmdir not supported" exit_unsupported fi instance_slam() { while :; do mkdir x mkdir y mkdir z rmdir x rmdir y rmdir z done 2>/dev/null } instance_slam & p1=$! echo $p1 instance_slam & p2=$! echo $p2 instance_slam & p3=$! echo $p3 instance_slam & p4=$! echo $p4 instance_slam & p5=$! echo $p5 ls -lR >/dev/null sleep 1 kill -1 $p1 kill -1 $p2 kill -1 $p3 kill -1 $p4 kill -1 $p5 echo "Wait for processes to finish" wait $p1 $p2 $p3 $p4 $p5 echo "all processes finished, wait for cleanup" mkdir x y z ls x y z rmdir x y z for d in x y z; do if [ -d $d ]; then fail "instance $d still exists" fi done set -e exit 0