Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Dec 2015 19:58:35 +0000 (UTC)
From:      Jilles Tjoelker <jilles@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r292450 - stable/10/etc
Message-ID:  <201512181958.tBIJwZ6X005824@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jilles
Date: Fri Dec 18 19:58:34 2015
New Revision: 292450
URL: https://svnweb.freebsd.org/changeset/base/292450

Log:
  MFC r291770: 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
  Relnotes:	yes

Modified:
  stable/10/etc/rc.subr
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/etc/rc.subr
==============================================================================
--- stable/10/etc/rc.subr	Fri Dec 18 19:29:58 2015	(r292449)
+++ stable/10/etc/rc.subr	Fri Dec 18 19:58:34 2015	(r292450)
@@ -974,6 +974,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
 					#
@@ -1002,14 +1010,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



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