svn commit: r220760 - head/etc

Doug Barton dougb at FreeBSD.org
Sun Apr 17 22:31:37 UTC 2011


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 at 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


More information about the svn-src-head mailing list