summaryrefslogtreecommitdiffhomepage
path: root/contrib/package/olsrd-luci/files/etc/init.d
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2008-09-01 23:02:29 +0000
committerJo-Philipp Wich <jow@openwrt.org>2008-09-01 23:02:29 +0000
commitf8b5b746aca6a9c49d43a98ebeb4b43b344f91ca (patch)
treef5f3f5a9ba8a9e1756cc158d4eb7608f6f75e54e /contrib/package/olsrd-luci/files/etc/init.d
parentc245841b4818075ad9d3fb8bc1f0b3b97b24a2e7 (diff)
* luci/contrib: add fork of openwrt olsrd
Diffstat (limited to 'contrib/package/olsrd-luci/files/etc/init.d')
-rwxr-xr-xcontrib/package/olsrd-luci/files/etc/init.d/olsrd37
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/package/olsrd-luci/files/etc/init.d/olsrd b/contrib/package/olsrd-luci/files/etc/init.d/olsrd
new file mode 100755
index 0000000000..04c3a75787
--- /dev/null
+++ b/contrib/package/olsrd-luci/files/etc/init.d/olsrd
@@ -0,0 +1,37 @@
+#!/bin/sh /etc/rc.common
+START=50
+
+BIN=/usr/sbin/olsrd
+CONF=/var/etc/olsrd.conf
+DEFAULT=/etc/default/olsrd
+PID=/var/run/olsrd.pid
+
+start() {
+ ### load defaults
+ [ -f $DEFAULT ] && . $DEFAULT
+
+ ### generate config
+ mkdir -p ${CONF%/*}
+ lua /lib/config/olsr.lua > $CONF
+
+ ### check for running instance (start-stop-daemon is too stupid to do this)
+ if [ -s $PID ]; then
+ if kill -0 $(cat $PID) 2>&-; then
+ echo "there is already a running instance ($(cat $PID))"
+ exit 1
+ fi
+ fi
+
+ ### start olsrd
+ start-stop-daemon -b -m -p $PID -x $BIN -S -- -f $CONF -nofork $OPTIONS
+}
+
+stop() {
+ ### stop olsrd
+ start-stop-daemon -q -p $PID -a ${BIN##*/} -K
+}
+
+restart() {
+ ### override generic restart because we need some time between stop and start
+ stop; sleep 3; start
+}