exit in rc.subr
Yar Tikhiy
yar at comp.chem.msu.su
Wed Nov 16 05:02:48 PST 2005
Hi there,
There are a few calls to "exit" in rc.subr, which creates
problems for rc.d script writers. As a rule, library functions
shouldn't exit, it's up to the caller to decide whether to exit
or keep running.
Any objections to the below patch? It's by sem@ with minor
additions by me. Thanks.
--- //depot/user/yar/hack/etc/rc.subr 2005/10/31 13:30:04
+++ //depot/user/yar/hack/etc/rc.subr 2005/11/16 10:56:56
@@ -598,12 +598,12 @@
start)
if [ -z "$rc_fast" -a -n "$rc_pid" ]; then
echo "${name} already running? (pid=$rc_pid)."
- exit 1
+ return 1
fi
if [ ! -x ${_chroot}${command} ]; then
info "run_rc_command: cannot run ($command)."
- return 0
+ return 1
fi
# check for required variables,
@@ -681,14 +681,14 @@
stop)
if [ -z "$rc_pid" ]; then
- [ -n "$rc_fast" ] && exit 0
+ [ -n "$rc_fast" ] && return 0
if [ -n "$pidfile" ]; then
echo \
"${name} not running? (check $pidfile)."
else
echo "${name} not running?"
fi
- exit 1
+ return 1
fi
# if the precmd failed and force
@@ -733,7 +733,7 @@
else
echo "${name} not running?"
fi
- exit 1
+ return 1
fi
echo "Reloading ${name} config files."
if [ -n "$_precmd" ]; then
@@ -807,7 +807,7 @@
echo 1>&2 "$0: unknown directive '$rc_arg'."
rc_usage $_keywords
- exit 1
+ # not reached
}
#
More information about the freebsd-rc
mailing list