diff options
author | dougb <dougb@FreeBSD.org> | 2010-03-07 04:26:21 +0000 |
---|---|---|
committer | dougb <dougb@FreeBSD.org> | 2010-03-07 04:26:21 +0000 |
commit | b26721b44cd735e67999e042c6f2fe748aec6d62 (patch) | |
tree | b83e47bf538ed53fe868532fa3295f3bb2b95bf2 /etc | |
parent | f28c83324f87203230dd2cf3f927fb349e7149ce (diff) | |
download | FreeBSD-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-x | etc/rc.d/jail | 25 |
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}" |