Gracefully handle unreadable /sys/class/net/dev/ nodes
Fixes https://bugs.gentoo.org/629228 Fixes #189 Fixes #185 Fixes #178
This commit is contained in:
parent
fb96c9c127
commit
5c81661d47
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user