diff options
-rw-r--r-- | packaging/SGI/samba.rc | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/packaging/SGI/samba.rc b/packaging/SGI/samba.rc index bc0f90ee77..23a9a30d6f 100644 --- a/packaging/SGI/samba.rc +++ b/packaging/SGI/samba.rc @@ -8,10 +8,14 @@ IS_ON=/etc/chkconfig KILLALL=/sbin/killall SAMBAD=/usr/samba/bin/smbd +PROFILE_SAMBAD=/usr/samba/bin/smbd.profile #SAMBA_OPTS=-d2 NMBD=/usr/samba/bin/nmbd +PROFILE_NMBD=/usr/samba/bin/nmbd.profile #NMBD_OPTS=-d1 +SMBCONTROL=/usr/samba/bin/smbcontrol + if test ! -x $IS_ON ; then IS_ON=true fi @@ -22,22 +26,42 @@ else # For a quiet startup and shutdown ECHO=: fi +if $IS_ON sambaprofiling ; then + enable_profiling=yes +fi + +if test "$enable_profiling" -o "$1" = "profile" ; then + SAMBAD=$PROFILE_SAMBAD + NMBD=$PROFILE_NMBD + enable_profiling="yes" +fi + case $1 in -'start') +start|profile) if $IS_ON samba && test -x $SAMBAD; then - $KILLALL -15 smbd nmbd + /etc/init.d/samba stop $ECHO "Samba:\c" $SAMBAD $SAMBA_OPTS -D; $ECHO " smbd\c" $NMBD $NMBD_OPTS -D; $ECHO " nmbd\c" $ECHO "." fi + if $IS_ON samba && test "$enable_profiling" ; then + if test -x $SMBCONTROL; then + $ECHO "Enabling Samba profiling." + $SMBCONTROL smbd profile on > /dev/null 2>&1 + $SMBCONTROL nmbd profile on > /dev/null 2>&1 + fi + $KILLALL -HUP pmcd + fi ;; -'stop') +stop) $ECHO "Stopping Samba Servers." $KILLALL -15 smbd nmbd + $KILLALL -15 smbd.profile nmbd.profile + $KILLALL -15 pmdasamba exit 0 ;; *) - echo "usage: /etc/init.d/samba {start|stop}" + echo "usage: /etc/init.d/samba {start|stop|profile}" ;; esac |