X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Flynxis%2Fomap.git;a=blobdiff_plain;f=package%2Fnetwork%2Fservices%2Frelayd%2Ffiles%2Frelay.init;h=ac10f48b70acaed3213d2f207a3bdea7f7575a06;hp=e38143f6e733c4700ee05e299a7e8522f373ff07;hb=699976e61d513e0509af1e614e0fdc807f6b66cb;hpb=2ae05c57f8d4cb557a5ea733c2795b8462f00062 diff --git a/package/network/services/relayd/files/relay.init b/package/network/services/relayd/files/relay.init index e38143f6e7..ac10f48b70 100644 --- a/package/network/services/relayd/files/relay.init +++ b/package/network/services/relayd/files/relay.init @@ -20,7 +20,7 @@ validate_proto_relayd() resolve_ifname() { grep -qs "^ *$1:" /proc/net/dev && { procd_append_param command -I "$1" - append ifaces "$1" + procd_append_param netdev "$1" } } @@ -35,22 +35,11 @@ resolve_network() { start_relay() { local cfg="$1" - local args="" - local ifaces="" - config_get proto "$cfg" proto - [[ "$proto" == relay ]] || return 0 - - SERVICE_DAEMONIZE=1 - SERVICE_WRITE_PID=1 - SERVICE_PID_FILE="/var/run/relay-$cfg.pid" - [ -f "$SERVICE_PID_FILE" ] && { - if grep -q relayd "/proc/$(cat $SERVICE_PID_FILE)/cmdline"; then - return 0 - else - rm -f "$SERVICE_PID_FILE" - fi - } + [ "$proto" = "relay" ] || return 0 + + config_get_bool disabled "$cfg" disabled 0 + [ "$disabled" -gt 0 ] && return 0 procd_open_instance procd_set_param command "$PROG" @@ -79,7 +68,7 @@ start_relay() { local expiry # = 30 config_get expiry "$cfg" expiry - [ -n "$expiry" ] && procd_append_param command "$expiry" + [ -n "$expiry" ] && procd_append_param command -t "$expiry" local retry # = 5 config_get retry "$cfg" retry @@ -103,6 +92,7 @@ start_relay() { service_triggers() { procd_add_reload_trigger "network" + procd_add_raw_trigger "interface.*" 2000 /etc/init.d/relayd reload } start_service() {