1#!/bin/sh 2# description: Test creation and deletion of trace instances 3 4if [ ! -d instances ] ; then 5 echo "no instance directory with this kernel" 6 exit_unsupported; 7fi 8 9fail() { # mesg 10 rmdir x y z 2>/dev/null 11 echo $1 12 set -e 13 exit $FAIL 14} 15 16cd instances 17 18# we don't want to fail on error 19set +e 20 21mkdir x 22rmdir x 23result=$? 24 25if [ $result -ne 0 ]; then 26 echo "instance rmdir not supported" 27 exit_unsupported 28fi 29 30instance_slam() { 31 while :; do 32 mkdir x 33 mkdir y 34 mkdir z 35 rmdir x 36 rmdir y 37 rmdir z 38 done 2>/dev/null 39} 40 41instance_slam & 42x=`jobs -l` 43p1=`echo $x | cut -d' ' -f2` 44echo $p1 45 46instance_slam & 47x=`jobs -l | tail -1` 48p2=`echo $x | cut -d' ' -f2` 49echo $p2 50 51instance_slam & 52x=`jobs -l | tail -1` 53p3=`echo $x | cut -d' ' -f2` 54echo $p3 55 56instance_slam & 57x=`jobs -l | tail -1` 58p4=`echo $x | cut -d' ' -f2` 59echo $p4 60 61instance_slam & 62x=`jobs -l | tail -1` 63p5=`echo $x | cut -d' ' -f2` 64echo $p5 65 66ls -lR >/dev/null 67sleep 1 68 69kill -1 $p1 70kill -1 $p2 71kill -1 $p3 72kill -1 $p4 73kill -1 $p5 74 75echo "Wait for processes to finish" 76wait $p1 $p2 $p3 $p4 $p5 77echo "all processes finished, wait for cleanup" 78 79mkdir x y z 80ls x y z 81rmdir x y z 82for d in x y z; do 83 if [ -d $d ]; then 84 fail "instance $d still exists" 85 fi 86done 87 88set -e 89 90exit 0 91