Changeset View
Changeset View
Standalone View
Standalone View
libexec/rc/rc.subr
| Show First 20 Lines • Show All 1,369 Lines • ▼ Show 20 Lines | if [ -n "$_cmd" ]; then | ||||
| "$rc_arg" = 'restart' -o \ | "$rc_arg" = 'restart' -o \ | ||||
| "$rc_arg" = 'reload' ]; then | "$rc_arg" = 'reload' ]; then | ||||
| _run_rc_setup || \ | _run_rc_setup || \ | ||||
| warn "failed to setup ${name}" | warn "failed to setup ${name}" | ||||
| fi | fi | ||||
| _run_rc_precmd || return 1 | _run_rc_precmd || return 1 | ||||
| fi | fi | ||||
| if ! checkyesno ${name}_svcj; then | if ! checkyesno ${name}_svcj; then | ||||
| _run_rc_doit "$_cpusetcmd $_cmd $rc_extra_args" || return 1 | _run_rc_doit "$_cmd $rc_extra_args" || return 1 | ||||
| else | else | ||||
| case "$rc_arg" in | case "$rc_arg" in | ||||
| start) | start) | ||||
| if [ "${_rc_svcj}" != jailing ]; then | if [ "${_rc_svcj}" != jailing ]; then | ||||
| _return=1 | _return=1 | ||||
| _do_jailing=1 | _do_jailing=1 | ||||
| if check_jail jailed; then | if check_jail jailed; then | ||||
| Show All 12 Lines | if [ -n "$_cmd" ]; then | ||||
| if [ ${_do_jailing} -eq 1 ]; then | if [ ${_do_jailing} -eq 1 ]; then | ||||
| $JAIL_CMD -c $_svcj_generic_params $_svcj_cmd_options \ | $JAIL_CMD -c $_svcj_generic_params $_svcj_cmd_options \ | ||||
| exec.start="${SERVICE} -E _rc_svcj=jailing ${name} ${_rc_prefix}start $rc_extra_args" \ | exec.start="${SERVICE} -E _rc_svcj=jailing ${name} ${_rc_prefix}start $rc_extra_args" \ | ||||
| exec.stop="${SERVICE} -E _rc_svcj=jailing ${name} ${_rc_prefix}stop $rc_extra_args" \ | exec.stop="${SERVICE} -E _rc_svcj=jailing ${name} ${_rc_prefix}stop $rc_extra_args" \ | ||||
| exec.consolelog="/var/log/svcj_${name}_console.log" \ | exec.consolelog="/var/log/svcj_${name}_console.log" \ | ||||
| name=svcj-${name} && _return=0 | name=svcj-${name} && _return=0 | ||||
| fi | fi | ||||
| else | else | ||||
| _run_rc_doit "$_cpusetcmd $_cmd $rc_extra_args" || _return=1 | _run_rc_doit "$_cmd $rc_extra_args" || _return=1 | ||||
| fi | fi | ||||
| ;; | ;; | ||||
| stop) | stop) | ||||
| if [ "${_rc_svcj}" != jailing ]; then | if [ "${_rc_svcj}" != jailing ]; then | ||||
| $SERVICE -E _rc_svcj=jailing -j svcj-${name} ${name} ${_rc_prefix}stop $rc_extra_args || _return=1 | $SERVICE -E _rc_svcj=jailing -j svcj-${name} ${name} ${_rc_prefix}stop $rc_extra_args || _return=1 | ||||
| $JAIL_CMD -r svcj-${name} 2>/dev/null | $JAIL_CMD -r svcj-${name} 2>/dev/null | ||||
| else | else | ||||
| _run_rc_doit "$_cpusetcmd $_cmd $rc_extra_args" || _return=1 | _run_rc_doit "$_cmd $rc_extra_args" || _return=1 | ||||
| fi | fi | ||||
| ;; | ;; | ||||
| restart|status) ;; # no special case needed for svcj or handled somewhere else | restart|status) ;; # no special case needed for svcj or handled somewhere else | ||||
| *) | *) | ||||
| eval _rc_svcj_extra_cmd=\$${name}_${rc_arg}_svcj_enable | eval _rc_svcj_extra_cmd=\$${name}_${rc_arg}_svcj_enable | ||||
| : ${_rc_svcj_extra_cmd:=NO} | : ${_rc_svcj_extra_cmd:=NO} | ||||
| if checkyesno _rc_svcj_extra_cmd && [ "${_rc_svcj}" != jailing ]; then | if checkyesno _rc_svcj_extra_cmd && [ "${_rc_svcj}" != jailing ]; then | ||||
| $SERVICE -v -E _rc_svcj=jailing -j svcj-${name} ${name} ${_rc_prefix}${rc_arg} $rc_extra_args || _return=1 | $SERVICE -v -E _rc_svcj=jailing -j svcj-${name} ${name} ${_rc_prefix}${rc_arg} $rc_extra_args || _return=1 | ||||
| else | else | ||||
| _run_rc_doit "$_cpusetcmd $_cmd $rc_extra_args" || _return=1 | _run_rc_doit "$_cmd $rc_extra_args" || _return=1 | ||||
| fi | fi | ||||
| ;; | ;; | ||||
| esac | esac | ||||
| fi | fi | ||||
| if [ "${_rc_svcj}" != jailing ]; then | if [ "${_rc_svcj}" != jailing ]; then | ||||
| _run_rc_postcmd | _run_rc_postcmd | ||||
| fi | fi | ||||
| return $_return | return $_return | ||||
| ▲ Show 20 Lines • Show All 1,453 Lines • Show Last 20 Lines | |||||