commit:     5c81661d4758dea039860ae2481476a70e78ac47
Author:     Marcel Greter <marcel.greter <AT> ocbnet <DOT> ch>
AuthorDate: Sat Dec  9 22:18:03 2017 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Mon Dec 11 20:46:16 2017 +0000
URL:        https://gitweb.gentoo.org/proj/openrc.git/commit/?id=5c81661d

Gracefully handle unreadable /sys/class/net/dev/ nodes

Fixes https://bugs.gentoo.org/629228
Fixes #189
Fixes #185
Fixes #178

 init.d/net-online.in | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/init.d/net-online.in b/init.d/net-online.in
index 45041c80..41910fa0 100644
--- a/init.d/net-online.in
+++ b/init.d/net-online.in
@@ -31,7 +31,7 @@ get_interfaces()
 start ()
 {
        local carriers configured dev gateway ifcount infinite
-       local rc state x
+       local carrier operstate rc
 
        ebegin "Checking to see if the network is online"
        rc=0
@@ -44,10 +44,10 @@ start ()
        ifcount=0
        for dev in ${interfaces}; do
                : $((ifcount += 1))
-               read x < /sys/class/net/$dev/carrier
-               [ $x -eq 1 ] && : $((carriers += 1))
-               read x < /sys/class/net/$dev/operstate
-               [ "$x" = up ] && : $((configured += 1))
+               read carrier < /sys/class/net/$dev/carrier 2> /dev/null
+               [ $carrier -eq 1 ] && : $((carriers += 1))
+               read operstate < /sys/class/net/$dev/operstate 2> /dev/null
+               [ "$operstate" = up ] && : $((configured += 1))
        done
        [ $configured -eq $ifcount ] && [ $carriers -ge 1 ] && break
        sleep 1

Reply via email to