xref: /illumos-gate/usr/src/cmd/cmd-inet/usr.lib/slpd/slp (revision 4d0eb50e)
17c478bd9Sstevel@tonic-gate#!/sbin/sh
27c478bd9Sstevel@tonic-gate#
37c478bd9Sstevel@tonic-gate# CDDL HEADER START
47c478bd9Sstevel@tonic-gate#
57c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
66927f468Sdp# Common Development and Distribution License (the "License").
76927f468Sdp# You may not use this file except in compliance with the License.
87c478bd9Sstevel@tonic-gate#
97c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
107c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
117c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
127c478bd9Sstevel@tonic-gate# and limitations under the License.
137c478bd9Sstevel@tonic-gate#
147c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
157c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
167c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
177c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
187c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
197c478bd9Sstevel@tonic-gate#
207c478bd9Sstevel@tonic-gate# CDDL HEADER END
217c478bd9Sstevel@tonic-gate#
227c478bd9Sstevel@tonic-gate#
236927f468Sdp# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
247c478bd9Sstevel@tonic-gate# Use is subject to license terms.
257c478bd9Sstevel@tonic-gate#
267c478bd9Sstevel@tonic-gate#
277c478bd9Sstevel@tonic-gate# Service Method Support Script for the SLP service
287c478bd9Sstevel@tonic-gate#
297c478bd9Sstevel@tonic-gate# - operates a proxy for slpd which brings up the JVM to run slpd
307c478bd9Sstevel@tonic-gate#   when required by a client; this prevents keeping JVM's alive
317c478bd9Sstevel@tonic-gate#   when the service is not in use.
327c478bd9Sstevel@tonic-gate#
337c478bd9Sstevel@tonic-gate
347c478bd9Sstevel@tonic-gate. /lib/svc/share/smf_include.sh
357c478bd9Sstevel@tonic-gate
367c478bd9Sstevel@tonic-gateCONF=/etc/inet/slp.conf
37*4d0eb50eSRichard PALOJAVA_BIN=/usr/java/bin/java
387c478bd9Sstevel@tonic-gateCLASSPATH=/usr/share/lib/slp/slpd.jar
397c478bd9Sstevel@tonic-gateMAIN_CLASS=com.sun.slp.slpd
407c478bd9Sstevel@tonic-gateSLPD_HOME=/usr/lib/inet
417c478bd9Sstevel@tonic-gateSLPD=slpd
427c478bd9Sstevel@tonic-gateSLPD_BIN=$SLPD_HOME/$SLPD
437c478bd9Sstevel@tonic-gate
447c478bd9Sstevel@tonic-gatecase "$1" in
457c478bd9Sstevel@tonic-gate'start')
467c478bd9Sstevel@tonic-gate	# Start slpd proxy (as a fragile dependency, conf file must exist)
477c478bd9Sstevel@tonic-gate	$SLPD_BIN -f $CONF >/dev/msglog 2>&1 &
487c478bd9Sstevel@tonic-gate	;;
497c478bd9Sstevel@tonic-gate
507c478bd9Sstevel@tonic-gate'stop')
517c478bd9Sstevel@tonic-gate	# Kill the slpd proxy.
526927f468Sdp	/usr/bin/pkill -x -u 0 -P 1 -z `smf_zonename` $SLPD
537c478bd9Sstevel@tonic-gate
547c478bd9Sstevel@tonic-gate	# If a configuration file exists signal a shutdown to the real slpd.
557c478bd9Sstevel@tonic-gate	[ -f $CONF  ] && {
567c478bd9Sstevel@tonic-gate		$JAVA_BIN -classpath $CLASSPATH \
577c478bd9Sstevel@tonic-gate       		    $MAIN_CLASS stop -f $CONF >/dev/msglog 2>&1 &
587c478bd9Sstevel@tonic-gate
597c478bd9Sstevel@tonic-gate	       	# Give the above slpd instance a chance to signal
607c478bd9Sstevel@tonic-gate	       	# a shutdown to the real slpd instance. If after
617c478bd9Sstevel@tonic-gate	       	# this time it has hung kill it.
627c478bd9Sstevel@tonic-gate	       	sleep 5
637c478bd9Sstevel@tonic-gate
647c478bd9Sstevel@tonic-gate	       	# The pattern must not exceed 80 chars!
656927f468Sdp	       	/usr/bin/pkill -x -f -u 0 -P 1,$$  -z `smf_zonename` \
667c478bd9Sstevel@tonic-gate	       	    "${JAVA_BIN}.*-classpath ${CLASSPATH} .*"
677c478bd9Sstevel@tonic-gate	}
687c478bd9Sstevel@tonic-gate
697c478bd9Sstevel@tonic-gate	# Kill the slpd proxy service contract
707c478bd9Sstevel@tonic-gate	smf_kill_contract $2 TERM 1
717c478bd9Sstevel@tonic-gate	[ $? -ne 0 ] && exit 1
727c478bd9Sstevel@tonic-gate	;;
737c478bd9Sstevel@tonic-gate*)
747c478bd9Sstevel@tonic-gate	echo "Usage: $0 { start | stop }"
757c478bd9Sstevel@tonic-gate	exit 1
767c478bd9Sstevel@tonic-gate	;;
777c478bd9Sstevel@tonic-gateesac
787c478bd9Sstevel@tonic-gateexit 0
79