kernel: fq_codel: dont reinit flow state
[openwrt/openwrt.git] / package / uhttpd / files / uhttpd.init
index 069e16fff1ca769028d98764e615294230a2ade9..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"
@@ -44,7 +47,7 @@ generate_keys() {
        [ -x "$PX5G_BIN" ] && {
                $PX5G_BIN selfsigned -der \
                        -days ${days:-730} -newkey rsa:${bits:-1024} -keyout "$UHTTPD_KEY" -out "$UHTTPD_CERT" \
-                       -subj /C=${country:-DE}/ST=${state:-Saxony}/L=${location:-Leipzig}/CN=${commonname:-OpenWrt}
+                       -subj /C="${country:-DE}"/ST="${state:-Saxony}"/L="${location:-Leipzig}"/CN="${commonname:-OpenWrt}"
        }
 }
 
@@ -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() {