kernel: fq_codel: dont reinit flow state
[openwrt/openwrt.git] / package / uhttpd / files / uhttpd.init
index 1ec009663b5f5f0217292f51d1d8929545c66a7d..379a9f5b5f7d5806d86fe12f335274dede6c2045 100755 (executable)
@@ -2,10 +2,13 @@
 # Copyright (C) 2010 Jo-Philipp Wich
 
 START=50
+
+SERVICE_DAEMONIZE=1
+SERVICE_WRITE_PID=1
+
 UHTTPD_BIN="/usr/sbin/uhttpd"
 PX5G_BIN="/usr/sbin/px5g"
 
-
 append_arg() {
        local cfg="$1"
        local var="$2"
@@ -69,6 +72,7 @@ start_instance()
        append_arg "$cfg" tcp_keepalive "-A"
        append_arg "$cfg" error_page "-E"
        append_arg "$cfg" index_page "-I"
+       append_arg "$cfg" max_requests "-n" 3
 
        append_bool "$cfg" no_symlinks "-S" 0
        append_bool "$cfg" no_dirlists "-D" 0
@@ -103,21 +107,21 @@ start_instance()
                }
        }
 
-       start-stop-daemon -S -x $UHTTPD_BIN \
-               -p /var/run/uhttpd_${cfg}.pid \
-               -m -b -- -f $UHTTPD_ARGS
+       SERVICE_PID_FILE=/var/run/uhttpd_${cfg}.pid
+       service_start $UHTTPD_BIN -f $UHTTPD_ARGS
+
+       # Check if daemon is running, if not then
+       # re-execute in foreground to display error.
+       sleep 1 && service_check $UHTTPD_BIN || \
+               $UHTTPD_BIN -f $UHTTPD_ARGS
 }
 
 stop_instance()
 {
        local cfg="$1"
 
-       [ -f /var/run/uhttpd_${cfg}.pid ] && {
-               start-stop-daemon -K -q -n ${UHTTPD_BIN##*/} \
-                       -p /var/run/uhttpd_${cfg}.pid -s TERM
-
-               rm -f /var/run/uhttpd_${cfg}.pid
-       }
+       SERVICE_PID_FILE=/var/run/uhttpd_${cfg}.pid
+       service_stop $UHTTPD_BIN
 }
 
 start() {