#!/bin/sh
set -e
-export PATH=`dirname $0`:$PATH
+export PATH=`dirname $0`:`dirname $0`/../utils:$PATH
CREATEMANY=${CREATEMANY:-createmany}
STATMANY=${STATMANY:-statmany}
UNLINKMANY=${UNLINKMANY:-unlinkmany}
cleanup() {
[ $CR_PID ] && kill -9 $CR_PID
+ [ $ST_PID ] && kill -9 $ST_PID
}
-trap cleanup 0
+trap cleanup EXIT
LOCKDIR=$DIR/lockdir
LOCKFILE=$LOCKDIR/lockfile
mkdir -p $MINDIR
while [ $MINRES -gt $MAXRES ]; do
FILETMP=$MINDIR/f$$${NUM}
- DIRTMP=$MAXDIR/d$$${NUM}
+ DIRTMP=$DIR/d$$/d${NUM}
touch $FILETMP
mkdir -p $DIRTMP
FILERES=`ls -id $FILETMP | awk '{ print $1 }'`
MINFILE=$FILETMP
MINRES=$FILERES
else
- rm $TMPFILE
+ rm $FILETMP
fi
NUM=$(($NUM + 1))
done
mv $MAXDIR $LOCKDIR
mv $MINFILE $LOCKFILE
-rm -rf $DIR/d$$*
+rm -rf $DIR/d$$
$LCTL mark "start dir: $LOCKDIR=$MAXRES file: $LOCKFILE=$MINRES"
# link will lock $LOCKFILE and $DIR as it creates ${LOCKFILE}{0,1,...}
$CREATEMANY -l$LOCKFILE $LOCKFILE -$COUNT &
CR_PID=$!
-sleep 1
+while ! test -f ${LOCKFILE}1 ; do
+ sleep 1
+done
# this will lock $DIR and ${LOCKFILE}0
$STATMANY -s $DIR2/lockdir/lockfile 1 -$COUNT &
kill $CR_PID || true
kill $ST_PID || true
-#rm -r $PDIR
+rm -rf $LOCKDIR