diff options
| author | Bastian Bittorf <bittorf@bluebottle.com> | 2013-11-11 11:46:17 +0100 |
|---|---|---|
| committer | Bastian Bittorf <bittorf@bluebottle.com> | 2013-11-11 11:46:17 +0100 |
| commit | d49b01e8cc2dcee64861affbbc49e8b4abd3df39 (patch) | |
| tree | b7abb7cbac62a26e53bb3d0fc0d5fd8369392354 | |
| parent | 89c2a8bb562412281d1ff070007be16d5a4d8f55 (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-x | olsrd/files/olsrd.hotplug.sh | 6 |
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 } } ;; |
