Author: baggins Date: Fri Sep 16 16:12:20 2005 GMT Module: nps Tag: HEAD ---- Log message: - huge facelift, almost rewritten PLD style
---- Files affected: nps/poci/script: poci.init (1.2 -> 1.3) ---- Diffs: ================================================================ Index: nps/poci/script/poci.init diff -u nps/poci/script/poci.init:1.2 nps/poci/script/poci.init:1.3 --- nps/poci/script/poci.init:1.2 Thu Sep 15 20:07:24 2005 +++ nps/poci/script/poci.init Fri Sep 16 18:12:12 2005 @@ -1,10 +1,10 @@ #!/bin/sh # -# poci Start/Stop the poci daemon +# poci Start/Stop the Platform Os Command Interface daemon # # chkconfig: 2345 55 25 # description: Poci daemon -# processname: nws_poci +# processname: nws_poci nws_hb nws_mc # Source function library . /etc/rc.d/init.d/functions @@ -15,107 +15,127 @@ # Get service config [ -f /etc/sysconfig/poci ] && . /etc/sysconfig/poci -# Check that networking is up. -if is_yes "${NETWORKING}"; then - if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then - msg_network_down poci - exit 1 - fi -else - exit 0 -fi - - KERNEL_VERSION=$(uname -r | sed "s/\([0-9]*\.[0-9]*\)\..*/\1/") PLATFORM=$(uname -m) JNET_INSMOD=jnet_prs -MC_INSMOD=nws_mc -if [ "$KERNEL_VERSION" = "2.6" ] ; then - if [ "$PLATFORM" = "x86_64" ] ; then - MC_INSMOD="" - fi +if [ "$KERNEL_VERSION" != "2.6" -o "$PLATFORM" != "x86_64" ] ; then + MC_INSMOD=nws_mc +else + MC_INSMOD="" fi +prep_start_poci() +{ + # let's remove them to stop any kind of confusion... + rm -f /dev/jnet /dev/nws_mc >/dev/null 2>&1 + + modprobe $JNET_INSMOD >/dev/null 2>&1 + [ $? -ne 0 ] && return 1 + mknod /dev/jnet c $(cat /proc/jnet/major) 0 >/dev/null 2>&1 + [ $? -ne 0 ] && return 1 + + if [ -n "$MC_INSMOD" ] ; then + modprobe $MC_INSMOD >/dev/null 2>&1 + [ $? -ne 0 ] && return 1 + mknod /dev/nws_mc c $(cat /proc/nws_mc/major) 0 >/dev/null 2>&1 + [ $? -ne 0 ] && return 1 + fi + + # there is some concern about configuring jnet too fast + sleep 1 + run_cmd -a "$(nls 'Bringing up interface %s' "jnet0")" /sbin/ifup jnet0 + return $? +} + RETVAL=0 # See how we were called. case "$1" in start) if [ ! -f /var/lock/subsys/poci ]; then - msg_starting poci - - # let's remove them to stop any kind of confusion... - rm -f /dev/jnet - rm -f /dev/nws_mc - - modprobe $JNET_INSMOD >/dev/null - if [ $? -ne 0 ] ; then - echo "failed" - exit 1 - fi - - if [ "$MC_INSMOD"xx != "xx" ] ; then - modprobe $MC_INSMOD >/dev/null - if [ $? -ne 0 ] ; then - echo "failed" - exit 1 - fi - maj_num=`cat /proc/nws_mc/major` - mknod /dev/nws_mc c ${maj_num} 0 - fi - - maj_num=`cat /proc/jnet/major` - mknod /dev/jnet c ${maj_num} 0 - - # there is some concern about configuring jnet too fast - sleep 1 - if /sbin/ifup jnet0 ; then + prep_start_poci + RETVAL=$? + if [ "$RETVAL" -eq 0 ] ; then + msg_starting "Platform Os Command Interface" daemon nws_poci RETVAL=$? - + msg_starting "Platform Side Heart Beat" daemon nws_hb + RETVAL1=$? + msg_starting "Platform Side MC Polling" daemon nws_mc - else - echo "failed" - exit 1 + RETVAL2=$? + if [ $RETVAL -eq 0 -a $RETVAL1 -eq 0 -a $RETVAL2 -eq 0 ]; then + touch /var/lock/subsys/poci + else + if [ $RETVAL2 -ne 0 ]; then + msg_stopping "Platform Side MC Polling" + killproc nws_mc + fi + if [ $RETVAL1 -ne 0 ]; then + msg_stopping "Platform Side Heart Beat" + killproc nws_hb + fi + if [ $RETVAL -ne 0 ]; then + msg_stopping "Platform Os Command Interface" + killproc nws_poci + fi + RETVAL=1 + fi fi - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/poci else - msg_already_running poci + msg_already_running "Platform Os Command Interface" fi ;; stop) if [ -f /var/lock/subsys/poci ]; then - msg_stopping poci - + msg_stopping "Platform Os Command Interface" killproc nws_poci RETVAL=$? + msg_stopping "Platform Side Heart Beat" killproc nws_hb + msg_stopping "Platform Side MC Polling" killproc nws_mc sleep 1 - /sbin/ifdown jnet0 - - if lsmod | grep -q ^nws_mc ; then - rmmod nws_mc - fi - rmmod jnet_prs + run_cmd -a "$(nls 'Shutting down interface %s' "jnet0")" /sbin/ifdown jnet0 - rm -f /dev/jnet - rm -f /dev/nws_mc + rmmod nws_mc >/dev/null 2>&1 + rmmod jnet_prs >/dev/null 2>&1 + rm -f /dev/jnet /dev/nws_mc >/dev/null 2>&1 - rm -f /var/lock/subsys/poci + rm -f /var/lock/subsys/poci >/dev/null 2>&1 else - msg_not_running poci + msg_not_running "Platform Os Command Interface" fi ;; + reload|force-reload) + if [ -f /var/lock/subsys/poci ]; then + $0 stop + sleep 1 + $0 start + RETVAL=$? + else + msg_not_running "Platform Os Command Interface" + fi restart) $0 stop sleep 1 $0 start + RETVAL=$? + ;; + status) + status nws_poci + RETVAL=$? + status nws_hb + RETVAL1=$? + status nws_mc + RETVAL2=$? + [ $RETVAL -eq 0 ] && RETVAL=$RETVAL1 + [ $RETVAL -eq 0 ] && RETVAL=$RETVAL2 ;; *) - msg_usage "$0 {start|stop|restart}" + msg_usage "$0 {start|stop|restart|reload|force-reload|status}" exit 3 esac ================================================================ ---- CVS-web: http://cvs.pld-linux.org/nps/poci/script/poci.init?r1=1.2&r2=1.3&f=u _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit