X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/202b2403157773bc319c7cde14b0a664702dcb34..3eff226019956112e6f3eec0dedff1b6f14aa6c7:/openwrt/package/p910nd/files/p910nd.init diff --git a/openwrt/package/p910nd/files/p910nd.init b/openwrt/package/p910nd/files/p910nd.init index 688090d91..1a6c4f4a1 100644 --- a/openwrt/package/p910nd/files/p910nd.init +++ b/openwrt/package/p910nd/files/p910nd.init @@ -1,17 +1,44 @@ #!/bin/sh DEFAULT=/etc/default/p910nd -[ -f $DEFAULT ] && . $DEFAULT RUN_D=/var/run -PID_F=$RUN_D/p910${PORT-0}d.pid + +_start() { + mkdir -p $RUN_D + [ -f $DEFAULT ] && ( + while read port options; do + case "$port" in + ""|\#*) + continue; + esac + p910nd $options $port + if [ $? -ne 0 ]; then + exit 1 + fi + done + ) < $DEFAULT + exit 0 +} + +_stop() { + [ -f $DEFAULT ] && ( + while read port options; do + case "$port" in + ""|\#*) + continue; + esac + PID_F=$RUN_D/p910${port}d.pid + [ -f $PID_F ] && kill $(cat $PID_F) + done + ) < $DEFAULT +} case $1 in start) - mkdir -p $RUN_D - p910nd $OPTIONS $PORT + _start ;; stop) - [ -f $PID_F ] && kill $(cat $PID_F) + _stop ;; *) echo "usage: $0 (start|stop)"