#!/bin/sh /etc/rc.common
# Copyright (C) 2007 OpenWrt.org
START=50
+USE_PROCD=1
append_bool() {
local section="$1"
}
start_service() {
- local section="$1"
- args=""
-
- append_bool "$section" bidirectional "-b"
- append_string "$section" device "-f "
- append_string "$section" bind "-i "
- append_string "$section" port ""
- config_get_bool "enabled" "$section" "enabled" '1'
- [ "$enabled" -gt 0 ] && /usr/sbin/p910nd $args
-}
-
-stop_service() {
- local section="$1"
- config_get port "$section" port
-
- PID_F=/var/run/p910${port}d.pid
- [ -f $PID_F ] && kill $(cat $PID_F)
-}
-
-start() {
config_load "p910nd"
- config_foreach start_service p910nd
+ config_foreach start_p910nd p910nd
}
-stop() {
- config_load "p910nd"
- config_foreach stop_service p910nd
+
+start_p910nd() {
+ local section="$1"
+ config_get_bool "enabled" "$section" "enabled" '1'
+ if [ "$enabled" -gt 0 ]; then
+ args="-d "
+ config_get port "$section" port
+ name=p910${port}d
+ append_bool "$section" bidirectional "-b"
+ append_string "$section" device "-f "
+ append_string "$section" bind "-i "
+ append_string "$section" port ""
+ procd_open_instance $name
+ procd_set_param command /usr/sbin/p910nd $args
+ procd_close_instance
+ fi
}