#!/bin/bash

# Start the 5250proxy 
#

function stopProxy () {
    if [[ -n "$TOP_5250_PROXY_ID" ]]; then
	kill $TOP_5250_PROXY_ID
	sleep 4
	typeset -r _pid=$(ps -ef|grep "$proxy"|grep -v grep|awk '{print $2}')
	if [[ -n "$_pid" ]]; then
	    kill $_pid
	fi
    fi

    exit
}

source /etc/SuSEconfig/profile

export PATH=$PATH:/opt/IBMJava/jre/bin

ulimit -c 1000000

#Make sure hardware server is running
while(true)
do
 HDWR_SVR_STATUS=`/usr/bin/lssrc -s hdwr_svr | grep hdwr | awk {'print $3'}`
 if [ "$HDWR_SVR_STATUS" = "active" ]; then
    break;
 else
    sleep 5
 fi
done

# set signal handler
trap "stopProxy" 1 2 3 15

typeset -r proxy=/opt/hsc/bin/5250proxy

if [ -f /var/hsc/log/.DEBUG_HSC ]; then
   $proxy -t -l en_US -w /opt/ccfw/data/SM.privkr -d defp -a /opt/hsc/bin/vshelper > /var/hsc/log/5250proxy.log 2>&1 &
   TOP_5250_PROXY_ID=$!
else
   $proxy -l en_US -w /opt/ccfw/data/SM.privkr -d defp -a /opt/hsc/bin/vshelper &
   TOP_5250_PROXY_ID=$!
fi

# Record the thread ids for the started 5250proxy 
sleep 5
ps -efwww | grep "$proxy" | grep -v grep | awk {'print $2'} > /var/hsc/5250proxy_proc_ids

wait $TOP_5250_PROXY_ID
echo "5250proxy stopped on "`date` > /tmp/5250proxyStopped.log

