#!/bin/ksh
#
#  starts K2, removes shared resources and starts pgw, ifss process of k2
#

if [[ -z $PGWROOT ]]
then
  echo PGWROOT has not been set
  exit
fi

cd $PGWROOT/bin

MODE=0

for i in "$@"
do
  if [ "$i" = "1" ]
  then 
    MODE=1;
  fi
  if [ "$i" = "2" ]
  then 
    MODE=2;
  fi
done

shift 

if [ $MODE = 1 ]
then
  export PGWCONFIG=$PGW1CONFIG
  export TSMRCONFIG=$TSMR1CONFIG
  export SHLIB_PATH=$SHLIB_PATH:$TSMR1:$SYSSRV1
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSMR1:$SYSSRV1
else
  if [ $MODE = 2 ]
  then
    export PGWCONFIG=$PGW2CONFIG
    export TSMRCONFIG=$TSMR2CONFIG
    export SHLIB_PATH=$SHLIB_PATH:$TSMR2:$SYSSRV2:$AMP2
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSMR2:$SYSSRV2:$AMP2
  else
    echo "Usage: k2start <1|2>"
    exit 1
  fi
fi

if [[ "$K2START" != "NOTCHECK" ]]
then
  ME=`whoami`
  procs=`ps -u$ME |\
          egrep "pgw$MODE|ifss$MODE" |\
          grep -v "grep " |\
          grep -v "vi " |\
          grep -v "xdb " |\
          wc -l`

  if [[ $procs -ne 0 ]]
  then
    echo "Some process of K2-$MODE still running!"
    echo "First run: k2stop $MODE!"
    exit 1
  fi

  sems=`$PGWROOT/bin/sipc $MODE | wc -l`

  if [[ $sems -ne 0 ]]
  then
    echo "Semaphore or shared memory of K2-$MODE still occupied!"
    echo "First run: k2stop $MODE!"
    exit 1 
  fi
fi

$PGWROOT/bin/pgw$MODE $@
sleep 5
$PGWROOT/bin/ifss$MODE

cd -
