diff options
Diffstat (limited to 'package/p910nd/files/p910nd.init')
-rw-r--r-- | package/p910nd/files/p910nd.init | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/package/p910nd/files/p910nd.init b/package/p910nd/files/p910nd.init index 688090d919..1a6c4f4a13 100644 --- a/package/p910nd/files/p910nd.init +++ b/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)" |