#!/bin/bash
. /lib/svc/share/smf_include.sh
# Get the value of a property defined in the service xml.
getproparg() {
val=`svcprop -p $1 coherence`
[ -n "$val" ] && echo $val
}
PROGNAME=coherence
CONFIGFILE=`getproparg coherence/config`
DATADIR=`getproparg coherence/data`
LOCKFILE=${DATADIR}/`/usr/bin/uname -n`.lock
if [ -z ${DATADIR} ]; then
echo "coherence/data property not set"
exit $SMF_EXIT_ERR_CONFIG
fi
if [ ! -d ${DATADIR} ]; then
echo "coherence/data directory ${DATADIR} is not a valid directory"
exit $SMF_EXIT_ERR_CONFIG
fi
RETVAL=0
start() {
# Check if it is already running
if [ ! -f ${LOCKFILE} ]; then
echo "Starting: " /usr/bin/$PROGNAME -c $CONFIGFILE
$PROGNAME -o use_dbus:yes -o controlpoint:yes -c $CONFIGFILE &
RETVAL=$?
[ ${RETVAL} -eq 0 ] && touch ${LOCKFILE}
echo
fi
return $RETVAL
}
stop() {
echo "Stopping: " $PROGNAME
pkill -f -U upnp /usr/bin/$PROGNAME
pgrep -f /usr/bin/$PROGNAME
RETVAL=$?
rm -f ${LOCKFILE}
RETVAL=$?
return $RETVAL
}
restart() {
$0 stop
$0 start
}
reload() {
trap "" SIGHUP
killall -HUP $PROGNAME
rm -f ${LOCKFILE}
}
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
condrestart)
if [ -f ${LOCKFILE} ]; then
restart
fi
;;
status)
status $PROGNAME
;;
*)
INITNAME=`basename $0`
gprintf "Usage: %s {start|stop|restart|condrestart|status}\n" "$INITNAME"
exit 1
esac
exit $RETVAL