6in4: work around hanging wget process
[openwrt/staging/lynxis/omap.git] / package / network / ipv6 / 6in4 / files / 6in4.sh
index ef2532234619bb7664adde365394423a5aba8ea9..e27e86ef085941198369b391e79f1e6b4e0a81d8 100755 (executable)
@@ -65,8 +65,10 @@ proto_6in4_setup() {
                local max=3
 
                while [ $((++try)) -le $max ]; do
-                       wget -qO/dev/null "$url" 2>/dev/null && break
-                       sleep 1
+                       ( wget -qO/dev/null "$url" 2>/dev/null ) &
+                       local pid=$!
+                       ( sleep 5; kill $pid 2>/dev/null ) &
+                       wait $pid && break
                done
        }
 }