summaryrefslogtreecommitdiff
path: root/package/p910nd/files/p910nd.init
diff options
context:
space:
mode:
Diffstat (limited to 'package/p910nd/files/p910nd.init')
-rw-r--r--package/p910nd/files/p910nd.init37
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)"