Back to home page

OSCL-LXR

 
 

    


0001 #!/bin/sh
0002 # SPDX-License-Identifier: GPL-2.0
0003 # description: Test creation and deletion of trace instances
0004 # requires: instances
0005 
0006 fail() { # mesg
0007     rmdir x y z 2>/dev/null
0008     echo $1
0009     set -e
0010     exit_fail
0011 }
0012 
0013 cd instances
0014 
0015 # we don't want to fail on error
0016 set +e
0017 
0018 mkdir x
0019 rmdir x
0020 result=$?
0021 
0022 if [ $result -ne 0 ]; then
0023     echo "instance rmdir not supported"
0024     exit_unsupported
0025 fi
0026 
0027 instance_slam() {
0028     while :; do
0029         mkdir x
0030         mkdir y
0031         mkdir z
0032         rmdir x
0033         rmdir y
0034         rmdir z
0035     done 2>/dev/null
0036 }
0037 
0038 instance_slam &
0039 p1=$!
0040 echo $p1
0041 
0042 instance_slam &
0043 p2=$!
0044 echo $p2
0045 
0046 instance_slam &
0047 p3=$!
0048 echo $p3
0049 
0050 instance_slam &
0051 p4=$!
0052 echo $p4
0053 
0054 instance_slam &
0055 p5=$!
0056 echo $p5
0057 
0058 ls -lR >/dev/null
0059 sleep 1
0060 
0061 kill -1 $p1
0062 kill -1 $p2
0063 kill -1 $p3
0064 kill -1 $p4
0065 kill -1 $p5
0066 
0067 echo "Wait for processes to finish"
0068 wait $p1 $p2 $p3 $p4 $p5
0069 echo "all processes finished, wait for cleanup"
0070 
0071 mkdir x y z
0072 ls x y z
0073 rmdir x y z
0074 for d in x y z; do
0075         if [ -d $d ]; then
0076                 fail "instance $d still exists"
0077         fi
0078 done
0079 
0080 set -e
0081 
0082 exit 0