| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #!@BASHPATH@
- export TIMEOUT=600
- export PID=$$
- up_to=200
- rec_plist() {
- if [ "$2" == "" ];then
- pl="`ps ax -o pid= -o ppid= -o comm=`"
- else
- pl=$2
- fi
- list=`echo "$pl" | egrep "^ *[0-9]+ +$1" | awk '{ print $1 }'`
- tmplist=$list
- for i in $tmplist;do
- [ "$i" != "$1" ] && [ "$i" != "$$" ] && list="$list "`rec_plist $i "$pl"`
- done
- echo $list
- }
- rec_pkill() {
- kill -9 `rec_plist "$1"` 2> /dev/null
- }
- exit_timeout() {
- echo "ERR: Timeout. Test failed $PID"
- rec_pkill "$$"
- exit 1
- }
- corosync-cmapctl -s test.abd "str" "test" || exit 2
- trap exit_timeout SIGUSR1
- (sleep $TIMEOUT ; kill -SIGUSR1 $PID) &
- wait_list=""
- for e in {1..40};do
- (for a in `seq 1 $up_to`;do corosync-cmapctl -s test.abd "str" $a ; done) &
- wait_list="$wait_list $!"
- done
- notify_list=""
- for i in {1..2};do
- sleep 600000 | corosync-cmapctl -t test > /dev/null &
- notify_list="$notify_list $!"
- done
- wait $wait_list
- rec_pkill "$$"
- echo "OK"
- exit 0
|