=== modified file 'sbin/zsvgen' --- sbin/zsvgen 2014-02-14 02:37:34 +0000 +++ sbin/zsvgen 2014-02-14 02:23:10 +0000 @@ -12,8 +12,6 @@ remove[$d:t]=$d done -mkdir -p /run/service - for name in $svtab; do unset "remove[$name]" zsv_eval /run/zsv/$name @@ -22,7 +20,6 @@ # flags zsv_flags=${svtab_flags[$name]} - link=1 if [[ $zsv_flags == *'!'* ]]; then touch $zsv_dir/down else @@ -32,7 +29,6 @@ echo -n u > $zsv_control fi else - link=0 touch $zsv_dir/down if [[ -p $zsv_control ]]; then echo -n d > $zsv_control @@ -55,24 +51,16 @@ echo -n x >$zsv_dir/log/supervise/control rm -rf $zsv_dir/log fi - - if (($link)); then - [[ -L /run/service/$name ]] && rm /run/service/$name - ln -s ../zsv/$name /run/service - fi -done - -# for name in $svtab; do -# [[ -L /run/service/$name ]] && rm /run/service/$name -# ln -s ../zsv/$name /run/service -# done +done + +mkdir -p /run/service +for name in $svtab; do + [[ -L /run/service/$name ]] && rm /run/service/$name + ln -s ../zsv/$name /run/service +done if (($#remove)); then - rm -f /run/service/${^remove:t} sv_exit=( $^remove/supervise/control(N) ) - (($#sv_exit)) && sv exit $sv_exit:h:h + (($#sv_exit)) && sv exit $sv_exit rm -rf $remove fi - -broken=( /run/service/(-@N) ) -(($#broken)) && rm -f $broken