misc/130414: rc services started with onestart are not stopped upon shutdown

Dominic Fandrey kamikaze at bsdforen.de
Mon Jan 12 03:20:15 PST 2009


>Number:         130414
>Category:       misc
>Synopsis:       rc services started with onestart are not stopped upon shutdown
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 12 11:20:02 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Dominic Fandrey
>Release:        RELENG_7
>Organization:
private
>Environment:
FreeBSD mobileKamikaze.norad 7.1-STABLE FreeBSD 7.1-STABLE #1: Tue Jan  6 22:28:13 CET 2009     root at mobileKamikaze.norad:/usr/obj/HP6510b/amd64/usr/src/sys/HP6510b  amd64
>Description:
On development machines I often start services with onestart (e.g. /usr/local/etc/rc.d apache22 onestart). I do not set rcvar for these services, because I only require them for testing and development.

The appended fix makes sure that the rc commands are executed without rcvar set if the service is running. This ensures the execution of the stop_cmd during system shutdown and makes the status and stop commands work without the one or force prefix.

I have so far not stumbled over any problems caused by this.
>How-To-Repeat:

>Fix:
--- src/etc/rc.subr.orig	2009-01-12 11:40:37.000000000 +0100
+++ src/etc/rc.subr	2009-01-12 12:00:16.000000000 +0100
@@ -603,19 +603,19 @@
 		fi
 	fi
 
+	eval $_pidcmd			# determine the pid
+
 					# if ${rcvar} is set, and $1 is not
 					# "rcvar", then run
 					#	checkyesno ${rcvar}
 					# and return if that failed
 					#
-	if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" ]; then
+	if [ -z "$rc_pid" -a -n "${rcvar}" -a "$rc_arg" != "rcvar" ]; then
 		if ! checkyesno ${rcvar}; then
 			return 0
 		fi
 	fi
 
-	eval $_pidcmd			# determine the pid if necessary
-
 	for _elem in $_keywords; do
 		if [ "$_elem" != "$rc_arg" ]; then
 			continue


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list