summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authordougb <dougb@FreeBSD.org>2010-03-07 04:26:21 +0000
committerdougb <dougb@FreeBSD.org>2010-03-07 04:26:21 +0000
commitb26721b44cd735e67999e042c6f2fe748aec6d62 (patch)
treeb83e47bf538ed53fe868532fa3295f3bb2b95bf2 /etc
parentf28c83324f87203230dd2cf3f927fb349e7149ce (diff)
downloadFreeBSD-src-b26721b44cd735e67999e042c6f2fe748aec6d62.zip
FreeBSD-src-b26721b44cd735e67999e042c6f2fe748aec6d62.tar.gz
Implement the idea of parallel-only-at-start-time in a cleaner, more
rc.d'ish way. Not objected to by: netchild
Diffstat (limited to 'etc')
-rwxr-xr-xetc/rc.d/jail25
1 files changed, 10 insertions, 15 deletions
diff --git a/etc/rc.d/jail b/etc/rc.d/jail
index 76342cf..70e151d 100755
--- a/etc/rc.d/jail
+++ b/etc/rc.d/jail
@@ -18,6 +18,8 @@
name="jail"
rcvar=`set_rcvar`
+
+start_precmd="jail_prestart"
start_cmd="jail_start"
stop_cmd="jail_stop"
@@ -545,6 +547,13 @@ jail_ips()
done
}
+jail_prestart()
+{
+ if checkyesno jail_parallel_start; then
+ command_args='&'
+ fi
+}
+
jail_start()
{
echo -n 'Configuring jails:'
@@ -730,18 +739,4 @@ if [ -n "$*" ]; then
jail_list="$*"
fi
-# Only allow the parallel start of jails, other commands are not
-# safe to execute in parallel.
-case "${cmd}" in
-*start)
- ;;
-*)
- jail_parallel_start=NO
-esac
-
-if checkyesno jail_parallel_start; then
- run_rc_command "${cmd}" &
-else
- run_rc_command "${cmd}"
-fi
-
+run_rc_command "${cmd}"
OpenPOWER on IntegriCloud