Current File : //etc/init.d/rdcfinish
#!/bin/sh
#
# Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
#
# Second SNDR start script
# - called after the TCP/IP stack has been initialised,
#   and networking enabled.
#
# - should be linked to /etc/rc2.d/S72rdcfinish as follows:
#
#       ln /etc/init.d/rdc /etc/rc2.d/S72rdcfinish
#
PATH=/etc:/bin
RDCD="/usr/lib/sndrd"
RDCSYNCD="/usr/lib/sndrsyncd"
USAGE="Usage: $0 start"

. /lib/svc/share/smf_include.sh

# There is a cluster and default instance of this service.
# We only want to run this script once when the cluster mode
# and service ($SMF_FMRI) match.
# Check if in cluster (cl_mode = 0) or not (cl_mode=1)
# and do the following on start:
#   cl_mode=0 and nws_rdcsyncd:cluster, continue
#   cl_mode=0 and nws_rdcsyncd:default, exit
#   cl_mode=1 and nws_rdcsyncd:default, continue
#   cl_mode=1 and nws_rdcsyncd:cluster, disable nws_rdcsyncd:cluster to prevent
#                                       dependency problems and exit
#
CLINFO=/usr/sbin/clinfo
if [ -x "$CLINFO" ]
then
	${CLINFO}
	cl_mode=$?
else
	cl_mode=1
fi

case "$1" in
'start')
	if [ $cl_mode -eq 1 -a "$SMF_FMRI" = svc:/system/nws_rdcsyncd:cluster ]
	then
		smf_method_exit $SMF_EXIT_TEMP_DISABLE cluster_mode \
			"$SMF_FMRI is not supported in cluster mode"
	fi
	if [ $cl_mode -eq 0 -a "$SMF_FMRI" = svc:/system/nws_rdcsyncd:default ]
	then
		exit $SMF_EXIT_OK
	fi

	echo "Completing SNDR startup:\c"

	## 
	##	Start sndrd
	##

	if [ ! -f ${RDCD} ]
 	then
		echo "Cannot find ${RDCD}.\nSNDR services unavailable." > /dev/console
		exit $SMF_EXIT_MON_OFFLINE
	fi

	ps -e | grep sndrd > /dev/null 2>&1
	if [ $? -ne 0 ]; then
		${RDCD}
		echo  " sndrd\c"
	else
		echo " sndrd already enabled\c"
	fi

	## 
	##	Start sndrsyncd
	##

	if [ ! -f ${RDCSYNCD} ]
 	then
 		echo "\nCannot find ${RDCSYNCD}.\nSNDR start aborted." > /dev/console
		exit $SMF_EXIT_MON_OFFLINE
	fi

	ps -e | grep sndrsyn > /dev/null 2>&1
	if [ $? -ne 0 ]; then
		${RDCSYNCD}
		echo  " sndrsyncd\c"
	else
		echo " sndrsyncd already running\c"
	fi

	echo " done"
	;;
'stop')
	# Inserted for symmetry
	;;
*)
	echo $USAGE
	exit 1
	;;
esac
exit $SMF_EXIT_OK