summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2019-04-05 18:38:12 +0200
committerDenys Vlasenko2019-04-05 18:41:48 +0200
commit1e474d3d933bfe56a7f4eab17cf58cc6dd6a881d (patch)
tree8a0b3f371ef15d5f16c74ec3020b6dd8a209efeb
parent43d09e79db91110e7ca09610efd0b62fce453b47 (diff)
downloadbusybox-1e474d3d933bfe56a7f4eab17cf58cc6dd6a881d.zip
busybox-1e474d3d933bfe56a7f4eab17cf58cc6dd6a881d.tar.gz
service examples: if iface do not exist, retry upping it
I've had a case of a machine where eth0 was appearing a bit later after the boot, and appearing _downed_. ifplugd then fails to detect "link up". Thus, depending on how service startup ("ip link set dev eth0 up") races with driver initialization, ethernet randomly fails to initialize on boot. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rwxr-xr-xexamples/var_service/dhcp_if/run4
-rwxr-xr-xexamples/var_service/dhcpd_if/run4
-rwxr-xr-xexamples/var_service/ifplugd_if/run2
-rwxr-xr-xexamples/var_service/supplicant_if/run2
-rwxr-xr-xexamples/var_service/zcip_if/run4
5 files changed, 8 insertions, 8 deletions
diff --git a/examples/var_service/dhcp_if/run b/examples/var_service/dhcp_if/run
index aec79e0..d8f3435 100755
--- a/examples/var_service/dhcp_if/run
+++ b/examples/var_service/dhcp_if/run
@@ -8,9 +8,9 @@ pwd="$PWD"
if="${PWD##*/dhcp_}"
echo "* Upping iface $if"
-ip link set dev "$if" up
+ip link set dev "$if" up || { sleep 5; exit; }
-echo "* Starting udhcpc"
+echo "* Starting udhcpc on $if [$$]"
exec \
env - PATH="$PATH" \
softlimit \
diff --git a/examples/var_service/dhcpd_if/run b/examples/var_service/dhcpd_if/run
index a603bdc..e3d1b00 100755
--- a/examples/var_service/dhcpd_if/run
+++ b/examples/var_service/dhcpd_if/run
@@ -8,12 +8,12 @@ pwd="$PWD"
if="${PWD##*/dhcpd_}"
echo "* Upping iface $if"
-ip link set dev $if up
+ip link set dev $if up || { sleep 5; exit; }
>>udhcpd.leases
sed 's/^interface.*$/interface '"$if/" -i udhcpd.conf
-echo "* Starting udhcpd"
+echo "* Starting udhcpd on $if [$$]"
exec \
env - PATH="$PATH" \
softlimit \
diff --git a/examples/var_service/ifplugd_if/run b/examples/var_service/ifplugd_if/run
index 5c662f2..e781661 100755
--- a/examples/var_service/ifplugd_if/run
+++ b/examples/var_service/ifplugd_if/run
@@ -9,7 +9,7 @@ pwd="$PWD"
if="${PWD##*/ifplugd_}"
echo "* Upping iface $if"
-ip link set dev "$if" up
+ip link set dev "$if" up || { sleep 5; exit; }
echo "* Starting ifplugd on $if [$$]"
exec \
diff --git a/examples/var_service/supplicant_if/run b/examples/var_service/supplicant_if/run
index 279d18a..bc16fb6 100755
--- a/examples/var_service/supplicant_if/run
+++ b/examples/var_service/supplicant_if/run
@@ -14,7 +14,7 @@ ip link set dev "$if" up || { sleep 5; exit; }
##echo "* Powersave disable on $if"
##iw dev "$if" set power_save off
-echo "* Starting wpa_supplicant"
+echo "* Starting wpa_supplicant on $if [$$]"
exec \
env - PATH="$PATH" \
softlimit \
diff --git a/examples/var_service/zcip_if/run b/examples/var_service/zcip_if/run
index 94a8754..6998232 100755
--- a/examples/var_service/zcip_if/run
+++ b/examples/var_service/zcip_if/run
@@ -8,9 +8,9 @@ pwd="$PWD"
if="${PWD##*/zcip_}"
echo "* Upping iface $if"
-ip link set dev "$if" up
+ip link set dev "$if" up || { sleep 5; exit; }
-echo "* Starting zcip"
+echo "* Starting zcip on $if [$$]"
exec \
env - PATH="$PATH" \
softlimit \