From 2aa2b766643d85728fac77050409e8c50aecea5f Mon Sep 17 00:00:00 2001 From: dougb Date: Fri, 22 Apr 2011 23:44:25 +0000 Subject: [PATCH] MFC r220760: The change in r206686 to allow the stop argument to work for a service that is running even though not _enable'd had an annoying side effect. If the service was already started at boot time by another means when the related script came around again in rcorder it would start again, regardless of _enable, because there was a valid pid. So, split the test into 2 parts, one for (!rcvar && !stop), and one for (stop && !valid_pid). This preserves the behavior from r206686 while preventing the undesired side effect. git-svn-id: svn://svn.freebsd.org/base/stable/8@220958 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- etc/rc.subr | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/etc/rc.subr b/etc/rc.subr index 4821ff287..86eec1799 100644 --- a/etc/rc.subr +++ b/etc/rc.subr @@ -651,7 +651,8 @@ run_rc_command() # checkyesno ${rcvar} # and return if that failed # - if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" -a -z "${rc_pid}" ]; then + if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" -a "$rc_arg" != "stop" ] || + [ -n "${rcvar}" -a "$rc_arg" = "stop" -a -z "${rc_pid}" ]; then if ! checkyesno ${rcvar}; then if [ -n "${rc_quiet}" ]; then return 0 -- 2.45.0