netifd: shut down all interfaces before restarting netifd
[openwrt/staging/florian.git] / package / netifd / files / etc / init.d / netifd
index e1047e7a81094eb62a3c5af8861f4ed7cbbb00c8..840083b61f8eab7cbc771eed1be24ef8dc85018a 100755 (executable)
@@ -1,18 +1,31 @@
 #!/bin/sh /etc/rc.common
+
 START=20
-PIDFILE=/var/run/netifd.pid
+
+SERVICE_DAEMONIZE=1
+SERVICE_WRITE_PID=1
 
 start() {
        stop
-       start-stop-daemon -S -b -m -p $PIDFILE -x /sbin/netifd
+       [ -e /proc/sys/kernel/core_pattern ] && {
+               ulimit -c unlimited
+               echo '/tmp/%e.%p.%s.%t.core' > /proc/sys/kernel/core_pattern
+       }
+       service_start /sbin/netifd
+       sleep 1
 }
 
-reload() {
-       ubus call network reload
+restart() {
+       ifdown -a
+       sleep 1
+       stop
+       start
 }
 
 stop() {
-       [ -e "$PIDFILE" ] || return
-       start-stop-daemon -K -p $PIDFILE -x /sbin/netifd
-       rm -f "$PIDFILE"
+       service_stop /sbin/netifd
+}
+
+reload() {
+       ubus call network reload
 }