summaryrefslogtreecommitdiff
path: root/olsrd
diff options
context:
space:
mode:
authorBastian Bittorf <bittorf@bluebottle.com>2013-11-11 11:46:17 +0100
committerBastian Bittorf <bittorf@bluebottle.com>2013-11-11 11:46:17 +0100
commitd49b01e8cc2dcee64861affbbc49e8b4abd3df39 (patch)
treeb7abb7cbac62a26e53bb3d0fc0d5fd8369392354 /olsrd
parent89c2a8bb562412281d1ff070007be16d5a4d8f55 (diff)
olsrd: hotplug: dont test if daemon is enabled, but look for a written PID-file. this solves the issue, that hotplug fires multiple restarts during boot for each upcoming interface (e.g. lo, lan, wan, wifi1, wifi2) which is racy somehow, but leaves hotplug itself working after normal startup. also reduce forking by directly sourcing '/etc/init.d/olsrd' via rc.common
Diffstat (limited to 'olsrd')
-rwxr-xr-xolsrd/files/olsrd.hotplug.sh6
1 files changed, 4 insertions, 2 deletions
diff --git a/olsrd/files/olsrd.hotplug.sh b/olsrd/files/olsrd.hotplug.sh
index 6d1641f..db709a8 100755
--- a/olsrd/files/olsrd.hotplug.sh
+++ b/olsrd/files/olsrd.hotplug.sh
@@ -44,9 +44,11 @@ olsrd_interface_needs_adding()
case "$ACTION" in
ifup)
- /etc/init.d/olsrd enabled && {
+ # only work after the first normal startup
+ # also: no need to test, if enabled
+ [ -e '/var/run/olsrd.pid' ] && {
olsrd_interface_needs_adding "$INTERFACE" "$DEVICE" && {
- /etc/init.d/olsrd restart
+ . /etc/rc.common /etc/init.d/olsrd restart
}
}
;;