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