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 <[email protected]>
---

 scripts/init.d/cgconfig.in |    8 ++++++++
 scripts/init.d/cgred.in    |   21 +++++++++++++++++----
 2 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/scripts/init.d/cgconfig.in b/scripts/init.d/cgconfig.in
index 9cf2c9a..d716b40 100644
--- a/scripts/init.d/cgconfig.in
+++ b/scripts/init.d/cgconfig.in
@@ -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
        ;;
     *)
diff --git a/scripts/init.d/cgred.in b/scripts/init.d/cgred.in
index db9c2ac..c5b0ed5 100644
--- a/scripts/init.d/cgred.in
+++ b/scripts/init.d/cgred.in
@@ -34,6 +34,7 @@
 
 pref...@prefix@;exec_pref...@exec_prefix@;sbind...@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)


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Libcg-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to