s3: Use better retry logic.
authormwolson_admin <mwolson_admin@deleuze.hcoop.net>
Mon, 30 Jun 2008 18:51:12 +0000 (14:51 -0400)
committermwolson_admin <mwolson_admin@deleuze.hcoop.net>
Mon, 30 Jun 2008 18:51:12 +0000 (14:51 -0400)
s3

diff --git a/s3 b/s3
index 9601162..398ce32 100755 (executable)
--- a/s3
+++ b/s3
@@ -160,14 +160,18 @@ s3_curl() {
   headers[${#headers[@]}]="Date: ${date}"
   [[ ${md5} ]] && headers[${#headers[@]}]="Content-MD5: ${md5}"
   tries=0
-  while test $tries -lt $ATTEMPTS; do
-    tries=$(expr $tries + 1)
+  while true; do
     $CURL ${arg} "${inout}" ${stdopts} -K <(curl_headers "${headers[@]}") \
        "http://s3.amazonaws.com${bucket}${remote}"
     ret=$?
     test $ret -eq 0 && break; 
-    sleep $ATTEMPT_WAIT
-    echo "Retrying ..."
+    if test $tries -lt $ATTEMPTS; then
+        tries=$(expr $tries + 1)
+        echo "Retrying ..."
+        sleep $ATTEMPT_WAIT
+    else
+        break
+    fi
   done
   return $ret
 }