summaryrefslogtreecommitdiff
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
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
-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
}
}
;;