aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2026-02-12 09:27:14 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2026-02-12 09:27:14 -0500
commit33a5cdae6c903ac6ac4caced2e3a114fbeb0ab0d (patch)
tree863dc7d1b6b552afb65b7d9cf005d081e4d97ca5 /src
parent3461cb98d5e8bb8be5fb1407da609b78a76b417c (diff)
downloadstasis-33a5cdae6c903ac6ac4caced2e3a114fbeb0ab0d.tar.gz
Implement STASIS_DOWNLOAD_RETRY_SECONDS
Diffstat (limited to 'src')
-rw-r--r--src/lib/core/download.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/core/download.c b/src/lib/core/download.c
index dea6aa4..68a5a23 100644
--- a/src/lib/core/download.c
+++ b/src/lib/core/download.c
@@ -33,6 +33,16 @@ long download(char *url, const char *filename, char **errmsg) {
}
}
+ size_t max_retry_seconds = 3;
+ const char *max_retry_seconds_str = getenv("STASIS_DOWNLOAD_RETRY_SECONDS");
+ if (max_retry_seconds_str) {
+ max_retry_seconds = strtol(max_retry_seconds_str, NULL, 10);
+ if (max_retry_seconds < 0) {
+ max_retry_seconds = 0;
+ }
+ }
+
+
curl_global_init(CURL_GLOBAL_ALL);
CURL *c = curl_easy_init();
for (size_t retry = 0; retry < max_retries; retry++) {
@@ -65,6 +75,7 @@ long download(char *url, const char *filename, char **errmsg) {
snprintf(*errmsg, errmsg_maxlen, "%s", curl_easy_strerror(curl_code));
curl_easy_reset(c);
fclose(fp);
+ sleep(max_retry_seconds);
continue;
}