]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
Init scripts patch
authorIvana Hutarova Varekova <varekova@redhat.com>
Wed, 14 Jul 2010 12:30:48 +0000 (14:30 +0200)
committerDhaval Giani <dhaval.giani@gmail.com>
Tue, 27 Jul 2010 08:34:38 +0000 (10:34 +0200)
This patch fixes the return values to meet the standarts.

changed values are:
cgconfig:
 * start  action: 6: program is not configured
 * status action: 3: program is not running

cgred:
 * start  action: 7: program is not running
 * start  action: 6: program is not configured
 * status action: 3: program is not running
 * status action: 2: program is dead and /var/run pid file exists
 * stop   action: 0: if the service is not running

Signed-off-by: Ivana Hutarova Varekova <varekova@redhat.com>
Signed-off-by: Dhaval Giani <dhaval.giani@gmail.com>
scripts/init.d/cgconfig.in
scripts/init.d/cgred.in

index 9cf2c9a80f51ba7e4ad2ea175a434a95aa8b8310..d716b4090e16cdc42665b06893431cca92d0fae3 100644 (file)
@@ -112,6 +112,12 @@ start() {
 
         if [ $? -eq 0 ]
         then
+                if [ ! -s $CONFIG_FILE ]
+                then
+                    log_failure_msg $CONFIG_FILE "is not configured"
+                    return 6
+                fi
+
                 $CGCONFIGPARSER_BIN -l $CONFIG_FILE
                 retval=$?
                 if [ $retval -ne 0 ]
@@ -193,8 +199,10 @@ case $1 in
     'status')
         if [ -f /var/lock/subsys/$servicename ] ; then
             echo "Running"
+            exit 0
         else
             echo "Stopped"
+            exit 3
         fi
        ;;
     *)
index db9c2acce818ed2128d80b78a85412853ff826f5..c5b0ed52c2c90f53f718e63ab8b0252868f212ee 100644 (file)
@@ -34,6 +34,7 @@
 
 prefix=@prefix@;exec_prefix=@exec_prefix@;sbindir=@sbindir@
 CGRED_BIN=$sbindir/cgrulesengd
+CGRED_CONF=/etc/cgrules.conf
 
 # Sanity checks
 [ -x $CGRED_BIN ] || exit 1
@@ -62,14 +63,21 @@ RETVAL=0
 
 start()
 {
-       echo $"Starting CGroup Rules Engine Daemon..."
+       echo -n $"Starting CGroup Rules Engine Daemon: "
        if [ -f "/var/lock/subsys/$servicename" ] ; then
                log_failure_msg "$servicename is already running with PID `cat ${pidfile}`"
-               return 1
+               return 0
+       fi
+       if [ ! -s $CGRED_CONF ]; then
+               log_failure_msg "not configured"
+               return 6
        fi
        daemon --check $servicename --pidfile $pidfile $CGRED_BIN $OPTIONS
        RETVAL=$?
        echo
+       if [ $RETVAL -ne 0 ]; then
+               return 7
+       fi
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$servicename
        echo "`pidof $processname`" > $pidfile
 }
@@ -77,6 +85,10 @@ start()
 stop()
 {
        echo -n $"Stopping CGroup Rules Engine Daemon..."
+       if [ ! -f $pidfile ]; then
+               log_success_msg
+               return 0
+       fi
        killproc -p $pidfile $processname -TERM
        RETVAL=$?
        echo
@@ -84,19 +96,20 @@ stop()
                rm -f /var/lock/subsys/$servicename
                rm -f $pidfile
        fi
-       log_success_msg
 }
 
 # See how we are called
 case "$1" in
        start)
                start
+               RETVAL=$?
                ;;
        stop)
                stop
+               RETVAL=$?
                ;;
        status)
-               status -p $pidfile $processname
+               status -p $pidfile $servicename
                RETVAL=$?
                ;;
        restart)