xref: /illumos-gate/usr/src/cmd/cmd-inet/usr.lib/slpd/slp (revision 6927f468b0af7710df000f6b16f6ee413e1e3007)
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
6*6927f468Sdp# Common Development and Distribution License (the "License").
7*6927f468Sdp# 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#
23*6927f468Sdp# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
247c478bd9Sstevel@tonic-gate# Use is subject to license terms.
257c478bd9Sstevel@tonic-gate#
267c478bd9Sstevel@tonic-gate#ident	"%Z%%M%	%I%	%E% SMI"
277c478bd9Sstevel@tonic-gate#
287c478bd9Sstevel@tonic-gate# Service Method Support Script for the SLP service
297c478bd9Sstevel@tonic-gate#
307c478bd9Sstevel@tonic-gate# - operates a proxy for slpd which brings up the JVM to run slpd
317c478bd9Sstevel@tonic-gate#   when required by a client; this prevents keeping JVM's alive
327c478bd9Sstevel@tonic-gate#   when the service is not in use.
337c478bd9Sstevel@tonic-gate#
347c478bd9Sstevel@tonic-gate
357c478bd9Sstevel@tonic-gate. /lib/svc/share/smf_include.sh
367c478bd9Sstevel@tonic-gate
377c478bd9Sstevel@tonic-gateCONF=/etc/inet/slp.conf
387c478bd9Sstevel@tonic-gateJAVA_BIN=/usr/j2se/bin/java
397c478bd9Sstevel@tonic-gateCLASSPATH=/usr/share/lib/slp/slpd.jar
407c478bd9Sstevel@tonic-gateMAIN_CLASS=com.sun.slp.slpd
417c478bd9Sstevel@tonic-gateSLPD_HOME=/usr/lib/inet
427c478bd9Sstevel@tonic-gateSLPD=slpd
437c478bd9Sstevel@tonic-gateSLPD_BIN=$SLPD_HOME/$SLPD
447c478bd9Sstevel@tonic-gate
457c478bd9Sstevel@tonic-gatecase "$1" in
467c478bd9Sstevel@tonic-gate'start')
477c478bd9Sstevel@tonic-gate	# Start slpd proxy (as a fragile dependency, conf file must exist)
487c478bd9Sstevel@tonic-gate	$SLPD_BIN -f $CONF >/dev/msglog 2>&1 &
497c478bd9Sstevel@tonic-gate	;;
507c478bd9Sstevel@tonic-gate
517c478bd9Sstevel@tonic-gate'stop')
527c478bd9Sstevel@tonic-gate	# Kill the slpd proxy.
53*6927f468Sdp	/usr/bin/pkill -x -u 0 -P 1 -z `smf_zonename` $SLPD
547c478bd9Sstevel@tonic-gate
557c478bd9Sstevel@tonic-gate	# If a configuration file exists signal a shutdown to the real slpd.
567c478bd9Sstevel@tonic-gate	[ -f $CONF  ] && {
577c478bd9Sstevel@tonic-gate		$JAVA_BIN -classpath $CLASSPATH \
587c478bd9Sstevel@tonic-gate       		    $MAIN_CLASS stop -f $CONF >/dev/msglog 2>&1 &
597c478bd9Sstevel@tonic-gate
607c478bd9Sstevel@tonic-gate	       	# Give the above slpd instance a chance to signal
617c478bd9Sstevel@tonic-gate	       	# a shutdown to the real slpd instance. If after
627c478bd9Sstevel@tonic-gate	       	# this time it has hung kill it.
637c478bd9Sstevel@tonic-gate	       	sleep 5
647c478bd9Sstevel@tonic-gate
657c478bd9Sstevel@tonic-gate	       	# The pattern must not exceed 80 chars!
66*6927f468Sdp	       	/usr/bin/pkill -x -f -u 0 -P 1,$$  -z `smf_zonename` \
677c478bd9Sstevel@tonic-gate	       	    "${JAVA_BIN}.*-classpath ${CLASSPATH} .*"
687c478bd9Sstevel@tonic-gate	}
697c478bd9Sstevel@tonic-gate
707c478bd9Sstevel@tonic-gate	# Kill the slpd proxy service contract
717c478bd9Sstevel@tonic-gate	smf_kill_contract $2 TERM 1
727c478bd9Sstevel@tonic-gate	[ $? -ne 0 ] && exit 1
737c478bd9Sstevel@tonic-gate	;;
747c478bd9Sstevel@tonic-gate*)
757c478bd9Sstevel@tonic-gate	echo "Usage: $0 { start | stop }"
767c478bd9Sstevel@tonic-gate	exit 1
777c478bd9Sstevel@tonic-gate	;;
787c478bd9Sstevel@tonic-gateesac
797c478bd9Sstevel@tonic-gateexit 0
80