#!/bin/bash
#
#
# File for automatic startup of Vaisala RCP8 daemon
#
# chkconfig: 345 96 03 
# description: Vaisala RCP8 startup file

### BEGIN INIT INFO
# Provides: rcp8 $rcp
# Required-Start: rdasys antennad
# Required-Stop: rdasys antennad
# Default-Stop: 0 1 6
# Short-Description: Start RCP8 daemon
# Description: Starts Vaisala RCP8 daemon
### END INIT INFO

# Source function library.
. /etc/rc.d/init.d/functions
. /etc/sigmet/profile.conf
. /etc/profile.d/sigmet.sh

if [ ! -x ${install_root}/bin/rcp8 ] ; then
    echo "ERROR: ${install_root}/bin/rcp8 file missing"
    exit 0
fi

RETVAL=0

start(){
  # Execute the commands to start rcp8
    PROCESSCOUNT=$(ps -ef | grep -v grep | grep -v start | grep -cw rcp8)
    if [[ -f /var/lock/subsys/rcp8 ]] && [[ ${PROCESSCOUNT} -eq 0 ]] ; then
        rm /var/lock/subsys/rcp8
    fi

    if [ ! -f /var/lock/subsys/rcp8 ]; then
	echo -n $"Starting rcp8: "
        i=0
        while ! (lsmod | grep rda > /dev/null) && ((i++ < 10))
        do
          sleep 2
        done

	if ((i >= 10)) ; then
          echo "ERROR: rda driver is not loaded!"
          exit 0
        fi
          
	${install_root}/bin/rcp8 -console /dev/null 1>/dev/null 2>/usr/iris_data/log/rcp8_err &
	RETVAL=$?
	if [ $RETVAL ] ; then
	    echo_success
	    touch /var/lock/subsys/rcp8
	else
	    echo_failure
	fi
	echo
    fi
    return $RETVAL
}

stop() {
    echo -n $"Stopping rcp8: "
    killproc rcp8 -TERM
    RETVAL=$?
    echo
    if [ $RETVAL ] ; then
	rm -f /var/lock/subsys/rcp8
    fi
    return $RETVAL
}


case $1 in

'start')
	start
	;;

'stop')
	stop
	;;

'restart')
        stop
        start
	;;

*)
	echo "usage: $0 {start|stop|restart}"
	;;
esac

exit $?
