- while [ $((++try)) -le $max ]; do
- ( exec wget -qO/dev/null "$url" 2>/dev/null ) &
- local pid=$!
- ( sleep 5; kill $pid 2>/dev/null ) &
- wait $pid && break
- done
+ (
+ set -o pipefail
+ while [ $((++try)) -le $max ]; do
+ if proto_6in4_update $urlget $urlget_opts --user="$username" --password="$password" "$url" 2>&1 | \
+ sed -e 's,^Killed$,timeout,' -e "s,^,update $try/$max: ," | \
+ logger -t "$link";
+ then
+ logger -t "$link" "updated"
+ return 0
+ fi
+ sleep 5
+ done
+ logger -t "$link" "update failed"
+ )