Page MenuHomeFreeBSD

D31930.id102169.diff
No OneTemporary

D31930.id102169.diff

Index: libexec/rc/rc.subr
===================================================================
--- libexec/rc/rc.subr
+++ libexec/rc/rc.subr
@@ -1411,7 +1411,9 @@
;;
*) # run in subshell
if [ -x $_file ]; then
- if [ -n "$rc_fast_and_loose" ]; then
+ if [ -n "$rc_boottrace" ]; then
+ boottrace ${_file} ${_arg}
+ elif [ -n "$rc_fast_and_loose" ]; then
set $_arg; . $_file
else
( trap "echo Script $_file interrupted >&2 ; kill -QUIT $$" 3
@@ -1424,6 +1426,26 @@
esac
}
+boottrace()
+{
+ local _file _arg
+ _file=$1
+ _arg=$2
+
+ if [ -n "$rc_fast_and_loose" ]; then
+ boottrace_sysctl "${_file} start"
+ set $_arg; . $_file
+ boottrace_sysctl "${_file} done"
+ else
+ $boottrace_cmd "$_file" "$_arg"
+ fi
+}
+
+boottrace_sysctl()
+{
+ ${SYSCTL} kern.boottrace.boottimes="$1"
+}
+
#
# load_rc_config [service]
# Source in the configuration file(s) for a given service.
@@ -2195,3 +2217,8 @@
if kenv -q rc.debug > /dev/null ; then
rc_debug=YES
fi
+
+boottrace_cmd=`command -v boottrace`
+if [ -n "$boottrace_cmd" ] && [ "`${SYSCTL_N} kern.boottrace.enabled`" = "1" ]; then
+ rc_boottrace=YES
+fi

File Metadata

Mime Type
text/plain
Expires
Thu, Oct 16, 4:48 PM (23 m, 46 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23797930
Default Alt Text
D31930.id102169.diff (1 KB)

Event Timeline