1#!/sbin/sh 2# 3# CDDL HEADER START 4# 5# The contents of this file are subject to the terms of the 6# Common Development and Distribution License (the "License"). 7# You may not use this file except in compliance with the License. 8# 9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10# or http://www.opensolaris.org/os/licensing. 11# See the License for the specific language governing permissions 12# and limitations under the License. 13# 14# When distributing Covered Code, include this CDDL HEADER in each 15# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16# If applicable, add the following below this CDDL HEADER, with the 17# fields enclosed by brackets "[]" replaced with your own identifying 18# information: Portions Copyright [yyyy] [name of copyright owner] 19# 20# CDDL HEADER END 21# 22# 23# Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26#ident "%Z%%M% %I% %E% SMI" 27 28. /lib/svc/share/smf_include.sh 29 30case "$1" in 31'start') 32 if /usr/lib/sysevent/syseventd >/dev/msglog 2>&1; then :; else 33 exit 34 fi 35 36 # Establish the default framebuffer name. 37 38 fbdev=`/usr/sbin/prtconf -F 2>/dev/null` 39 40 if [ $? -eq 0 ]; then 41 set -- /devices$fbdev* 42 if [ -c $1 ]; then 43 rm -f /dev/fb 44 ln -s $1 /dev/fb 45 fi 46 fi 47 ;; 48 49# 50# devfsadmd and syseventconfd are started on-demand 51# by syseventd. syseventd should be stopped before devfsadm and syseventconfd. 52# 53'stop') 54 dpid=`/usr/bin/pgrep devfsadm` 55 scpid=`/usr/bin/pgrep syseventconfd` 56 spid=`/usr/bin/pgrep syseventd` 57 zone=`smf_zonename` 58 /usr/bin/pkill -x -u 0 -P 1 -z $zone rcm_daemon 59 /usr/bin/pkill -x -u 0 -P 1 -z $zone syseventd 60 /usr/bin/pkill -x -u 0 -P 1 -z $zone devfsadm 61 /usr/bin/pkill -x -u 0 -P 1 -z $zone syseventconfd 62 63 # 64 # Since pkill is not atomic (may miss forking processes), also 65 # kill entire service contract. 66 # 67 smf_kill_contract $2 TERM 1 68 [ $? -ne 0 ] && exit 1 69 ;; 70 71*) 72 echo "Usage: $0 { start | stop }" 73 exit 1 74 ;; 75 76esac 77exit 0 78