diff options
author | Michael Fenn <fennm@deshawresearch.com> | 2013-03-28 09:36:21 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-03-28 10:24:56 -0400 |
commit | b8b15234bcf3fc4edecf219e2c3331e9eee54b17 (patch) | |
tree | f69dcbb1be9e17f6b8aeccc3564d0838fcba2b6d /debian | |
parent | 52824a1cf8786c318269f71f0cc7c234d4a92f73 (diff) | |
download | bcfg2-b8b15234bcf3fc4edecf219e2c3331e9eee54b17.tar.gz bcfg2-b8b15234bcf3fc4edecf219e2c3331e9eee54b17.tar.bz2 bcfg2-b8b15234bcf3fc4edecf219e2c3331e9eee54b17.zip |
Pass through retval from start, stop, status, etc.
The various init scripts have the usual start, stop, and status
functions which are called from a case statement. The functions
even nicely return various values for success and failure.
Unfortunately, those values were not passed all the way back to the
calling shell.
Previously, the init scripts would return 0 if any of start, stop, or
status failed. This commit ensures that they they pass the return
value back to the caller.
Why does this matter? Well, beyond just being generally good
citizens, bcfg2's own chkconfig client tool expects stopped services
to return a non-zero exit code when their status function is called.
Otherwise it flags the service state as incorrect and tries to stop
it on every run.
Diffstat (limited to 'debian')
-rwxr-xr-x | debian/bcfg2-report-collector.init | 9 | ||||
-rwxr-xr-x | debian/bcfg2-server.init | 9 | ||||
-rwxr-xr-x | debian/bcfg2.init | 9 |
3 files changed, 20 insertions, 7 deletions
diff --git a/debian/bcfg2-report-collector.init b/debian/bcfg2-report-collector.init index 2d182385a..df7b751cb 100755 --- a/debian/bcfg2-report-collector.init +++ b/debian/bcfg2-report-collector.init @@ -32,6 +32,7 @@ test -x $DAEMON || exit 5 # Internal variables BINARY=$(basename $DAEMON) +RETVAL=0 start () { echo -n "Starting Configuration Report Collector: " @@ -85,22 +86,26 @@ status () { case "$1" in start) start + RETVAL=$? ;; stop) stop + RETVAL=$? ;; status) status + RETVAL=$? ;; restart|reload|force-reload) stop sleep 5 start + RETVAL=$? ;; *) log_success_msg "Usage: $0 {start|stop|status|reload|restart|force-reload}" - exit 1 + RETVAL=1 ;; esac -exit 0 +exit $RETVAL diff --git a/debian/bcfg2-server.init b/debian/bcfg2-server.init index 8de16b9b5..04774c063 100755 --- a/debian/bcfg2-server.init +++ b/debian/bcfg2-server.init @@ -41,6 +41,7 @@ test -x $DAEMON || exit 5 # Internal variables BINARY=$(basename $DAEMON) +RETVAL=0 start () { echo -n "Starting Configuration Management Server: " @@ -91,22 +92,26 @@ status () { case "$1" in start) start + RETVAL=$? ;; stop) stop + RETVAL=$? ;; status) status + RETVAL=$? ;; restart|reload|force-reload) stop sleep 5 start + RETVAL=$? ;; *) log_success_msg "Usage: $0 {start|stop|status|reload|restart|force-reload}" - exit 1 + RETVAL=1 ;; esac -exit 0 +exit $RETVAL diff --git a/debian/bcfg2.init b/debian/bcfg2.init index 4f83adbf6..b2e47b346 100755 --- a/debian/bcfg2.init +++ b/debian/bcfg2.init @@ -47,6 +47,7 @@ fi # Internal variables BINARY=$(basename $BCFG2) +RETVAL=0 # Include lsb functions . /lib/lsb/init-functions @@ -70,17 +71,19 @@ start () { case "$1" in start) start + RETVAL=$? ;; stop|status) - exit 0 + RETVAL=0 ;; restart|force-reload) start + RETVAL=$? ;; *) echo "Usage: $0 {start|stop|status|restart|force-reload}" - exit 1 + RETVAL=1 ;; esac -exit 0 +exit $RETVAL |