Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Apr 2011 22:31:36 +0000 (UTC)
From:      Doug Barton <dougb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r220760 - head/etc
Message-ID:  <201104172231.p3HMVaJd051667@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dougb
Date: Sun Apr 17 22:31:36 2011
New Revision: 220760
URL: http://svn.freebsd.org/changeset/base/220760

Log:
  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. [1]
  
  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.
  
  PR:		conf/156427 [1]
  Submitted by:	Eugene Grosbein <eugen@grosbein.pp.ru> [1]

Modified:
  head/etc/rc.subr

Modified: head/etc/rc.subr
==============================================================================
--- head/etc/rc.subr	Sun Apr 17 22:26:07 2011	(r220759)
+++ head/etc/rc.subr	Sun Apr 17 22:31:36 2011	(r220760)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104172231.p3HMVaJd051667>