# HG changeset patch # User Vladimir Marek # Date 1359657381 -3600 # Node ID 501d8b6b07c2f45bae427c172ddd11700d8c6660 # Parent 2fe2a52488cbcefb3c36c2f8a5b9bd37e01308e9 15758029 SUNBT7116639 Winbind SMF service should detect its failure diff -r 2fe2a52488cb -r 501d8b6b07c2 components/samba/samba/Solaris/samba.sh --- a/components/samba/samba/Solaris/samba.sh Sat Feb 02 09:38:05 2013 -0800 +++ b/components/samba/samba/Solaris/samba.sh Thu Jan 31 19:36:21 2013 +0100 @@ -22,13 +22,32 @@ # # -# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. # . /lib/svc/share/smf_include.sh SAMBA_CONFIG=/etc/samba/smb.conf +# Check if given service is working properly +check_running() { + case "$SMF_FMRI" in + svc:/network/winbind:*) + # It takes some time before winbind starts to really work + # This is infinite loop which will be killed after smf timeout + while : ; do + sleep 2 + PING=`/usr/bin/wbinfo --ping-dc 2>&1` + if [ $? -eq 0 ]; then + break + fi + echo "$PING" + done + ;; + esac + return 0 +} + case "$1" in start) if [ ! -f "$SAMBA_CONFIG" ]; then @@ -39,6 +58,7 @@ # Command to execute is found in second and further script arguments shift eval "$@" + check_running ;; stop) # kill whole contract group