#!/bin/sh
#
#ident        "@(#)scdpmd 1.1     03/04/02 SMI"
#
# Copyright 2001-2003 by Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# usr/src/cmd/initpkg/init.d/scdpmd

# Start/stop scdpmd

#
# Only run this script in cluster mode. There's no support for
# running scdpmd in non-cluster mode.
#
/usr/sbin/clinfo >/dev/null 2>&1 || exit 0


SERVER=/usr/cluster/lib/sc/scdpmd

case "$1" in
'start')
	# We only allow one scdpmd running at a time
	/usr/bin/pgrep -u 0 -P 1 -x scdpmd > /dev/null 2>&1
	if [ $? -eq 0 ] ; then
		/usr/bin/logger -p local0.err -t SCDPMD "Error: ${SERVER} is already running."
                exit 1;
	fi

	#
	# Start under PMF with 4 retries and a two minute failure period.
	# If there are more than 4 failures in a two minute period, the pmf
	# will stop attempting to restart the daemon.
	#
	/usr/cluster/bin/pmfadm -c scdpmd -t 2 -n 4 ${SERVER}

	if [ $? -ne 0 ]; then
		/usr/bin/logger -p local0.err -t SCDPMD "Error: Can't start ${SERVER}."
		exit 1
	fi

	;;

'stop')
	# Send SIGKILL via PMF
	/usr/cluster/bin/pmfadm -s scdpmd 9

	;;
*)
	echo "Usage: /etc/init.d/scdpmd { start | stop }"
	;;
esac
