View | Details | Raw Unified | Return to bug 203172 | Differences between
and this patch

Collapse All | Expand All

(-)/etc/rc.d/jail (-15 / +18 lines)
Lines 422-428 Link Here
422
422
423
jail_start()
423
jail_start()
424
{
424
{
425
	local _j _jv _jid _jl _id _name
425
	local _j _jv _jid _tmp _id _name
426
426
427
	if [ $# = 0 ]; then
427
	if [ $# = 0 ]; then
428
		return
428
		return
Lines 452-480 Link Here
452
		# Start jails in parallel and then check jail id when
452
		# Start jails in parallel and then check jail id when
453
		# jail_parallel_start is YES.
453
		# jail_parallel_start is YES.
454
		#
454
		#
455
		_jl=
456
		for _j in $@; do
455
		for _j in $@; do
457
			_j=$(echo $_j | tr /. _)
456
			_j=$(echo $_j | tr /. _)
458
			_jv=$(echo -n $_j | tr -c '[:alnum:]' _)
457
			_jv=$(echo -n $_j | tr -c '[:alnum:]' _)
459
			parse_options $_j $_jv || continue
458
			parse_options $_j $_jv || continue
460
459
461
			_jl="$_jl $_j"
462
			eval rc_flags=\${jail_${_jv}_flags:-$jail_flags}
460
			eval rc_flags=\${jail_${_jv}_flags:-$jail_flags}
463
			eval command=\${jail_${_jv}_program:-$jail_program}
461
			eval command=\${jail_${_jv}_program:-$jail_program}
464
			command_args="-i -f $_conf -c $_j"
462
			command_args="-i -f $_conf -c $_j"
465
			$command $rc_flags $command_args \
463
			(
466
			    >/dev/null 2>&1 </dev/null &
464
				_tmp=`mktemp -t jail_${_j}` || exit 3
467
		done
465
				if $command $rc_flags $command_args \
468
		sleep 1
466
				    > ${_tmp} 2>&1 </dev/null;
469
		for _j in $_jl; do
467
				then
470
			echo -n " ${_hostname:-${_j}}"
468
					echo -n " ${_hostname:-${_j}}"
471
			if _jid=$($jail_jls -j $_j jid); then
469
					_jid=$($jail_jls -j $_j jid)
472
				echo "$_jid" > /var/run/jail_${_j}.id
470
					echo $_jid > /var/run/jail_${_j}.id
473
			else
471
				else
474
				echo " cannot start jail " \
472
					rm -f /var/run/jail_${_j}.id
475
				    "\"${_hostname:-${_j}}\": "
473
					echo " cannot start jail " \
476
			fi
474
					    "\"${_hostname:-${_j}}\": "
475
					cat ${_tmp}
476
				fi
477
				rm -f ${_tmp}
478
			) &
477
		done
479
		done
480
		wait
478
	else
481
	else
479
		#
482
		#
480
		# Start jails one-by-one when jail_parallel_start is NO.
483
		# Start jails one-by-one when jail_parallel_start is NO.

Return to bug 203172