packages/bird: use new service functions
[lede-routing/.git] / net / bird / files / bird4loop
index 9d9b80dd8c6fc8d116b09e7dfbe350aa37ad3aad..5dd6b95c926b715f2490fe5f4c1d4efefc0955b4 100644 (file)
@@ -2,11 +2,22 @@
 
 BIRD=/usr/sbin/bird4
 
-$BIRD -p
+$BIRD -p || return 1
 
-( until $BIRD -d "$@"
-do
-       logger error BIRD4 died!
-       sleep 2
-done; ) </dev/null >/dev/null 2> /dev/null &
+. /lib/functions.sh
 
+SERVICE_DAEMONIZE=1
+SERVICE_WRITE_PID=1
+
+sig_handler() {
+       running=0
+       service_stop $BIRD
+}
+
+running=1
+trap sig_handler INT
+trap sig_handler TERM
+while [ $running -gt 0 ]; do
+       service_check $BIRD || service_start $BIRD -d "$@"
+       sleep 3
+done