mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
rc.subr: Check for running daemons before a custom start_cmd is executed.
Currently rc scripts implementing their own start_cmd do not enjoy the
benefits of rc.subr's own check for rc_pid.
This leads to around a third of ports with such a start_cmd not to check for
the process at all and two thirds of ports to re-implement this check
(sometimes wrongly).
This patch moves the check for rc_pid to before ${rc_arg}_cmd is executed.
Submitted by: Dirk Engling
Reviewed by: feld
MFC after: 1 week
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D4156
This commit is contained in:
parent
61d1f7f291
commit
80fe6bcf09
1 changed files with 8 additions and 8 deletions
16
etc/rc.subr
16
etc/rc.subr
|
|
@ -976,6 +976,14 @@ run_rc_command()
|
|||
fi
|
||||
fi
|
||||
|
||||
if [ $rc_arg = "start" -a -z "$rc_fast" -a -n "$rc_pid" ]; then
|
||||
if [ -z "$rc_quiet" ]; then
|
||||
echo 1>&2 "${name} already running? " \
|
||||
"(pid=$rc_pid)."
|
||||
fi
|
||||
return 1
|
||||
fi
|
||||
|
||||
# if there's a custom ${XXX_cmd},
|
||||
# run that instead of the default
|
||||
#
|
||||
|
|
@ -1004,14 +1012,6 @@ run_rc_command()
|
|||
;;
|
||||
|
||||
start)
|
||||
if [ -z "$rc_fast" -a -n "$rc_pid" ]; then
|
||||
if [ -z "$rc_quiet" ]; then
|
||||
echo 1>&2 "${name} already running? " \
|
||||
"(pid=$rc_pid)."
|
||||
fi
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ ! -x "${_chroot}${_chroot:+/}${command}" ]; then
|
||||
warn "run_rc_command: cannot run $command"
|
||||
return 1
|
||||
|
|
|
|||
Loading…
Reference in a new issue