aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2019-04-05 18:38:12 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2019-04-05 18:41:48 +0200
commit1e474d3d933bfe56a7f4eab17cf58cc6dd6a881d (patch)
tree8a0b3f371ef15d5f16c74ec3020b6dd8a209efeb
parent43d09e79db91110e7ca09610efd0b62fce453b47 (diff)
downloadbusybox-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 aec79e027..d8f343586 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 a603bdc71..e3d1b00f4 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 5c662f298..e7816619d 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 279d18af5..bc16fb606 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 94a875465..699823246 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 \