mirror of
https://github.com/clearlinux/clr-debug-info.git
synced 2026-09-06 13:51:38 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c1f45d9f3c | ||
|
|
bcff8fae39 | ||
|
|
66bab25bcd | ||
|
|
49ac392f01 |
+14
-6
@@ -43,6 +43,9 @@
|
|||||||
|
|
||||||
GStaticMutex dupes_mutex = G_STATIC_MUTEX_INIT;
|
GStaticMutex dupes_mutex = G_STATIC_MUTEX_INIT;
|
||||||
|
|
||||||
|
char *urls[2] = {"https://debuginfo.clearlinux.org/debuginfo/", "http://debuginfo.fenrus.org/debuginfo/" };
|
||||||
|
int urlcounter = 1;
|
||||||
|
|
||||||
|
|
||||||
static GHashTable *hash;
|
static GHashTable *hash;
|
||||||
|
|
||||||
@@ -119,6 +122,9 @@ static int curl_get_file(const char *url, const char *prefix, time_t timestamp)
|
|||||||
fflush(file);
|
fflush(file);
|
||||||
// printf("HTTP return code is %i\n", ret);
|
// printf("HTTP return code is %i\n", ret);
|
||||||
|
|
||||||
|
if (ret != 200 && ret != 404)
|
||||||
|
urlcounter++;
|
||||||
|
|
||||||
if (ret == 200) {
|
if (ret == 200) {
|
||||||
char *command = NULL;
|
char *command = NULL;
|
||||||
// printf("Filename is %s\n", filename);
|
// printf("Filename is %s\n", filename);
|
||||||
@@ -197,7 +203,7 @@ static void *server_thread(void *arg)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
url = NULL;
|
url = NULL;
|
||||||
if (asprintf(&url, "http://debuginfo.clearlinux.org/debuginfo/%s%s.tar", prefix, path) < 0) {
|
if (asprintf(&url, "%s%s%s.tar", urls[urlcounter % 2], prefix, path) < 0) {
|
||||||
close(fd);
|
close(fd);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -205,17 +211,19 @@ static void *server_thread(void *arg)
|
|||||||
// printf("Getting url %s %i:%06i\n", url, before.tv_sec, before.tv_usec);
|
// printf("Getting url %s %i:%06i\n", url, before.tv_sec, before.tv_usec);
|
||||||
ret = curl_get_file(url, prefix, timestamp);
|
ret = curl_get_file(url, prefix, timestamp);
|
||||||
|
|
||||||
/* tell the other side we're done with the download */
|
if (ret != 200)
|
||||||
write(fd, "ok", 3);
|
printf("Request for %s resulted in error %i\n", url, ret);
|
||||||
close(fd);
|
|
||||||
|
|
||||||
gettimeofday(&after, NULL);
|
gettimeofday(&after, NULL);
|
||||||
if (timedelta(before, after) > 0.6)
|
if (timedelta(before, after) > 0.6)
|
||||||
printf("Request for %s took %5.2f seconds (%i - %i)\n", url,
|
printf("Request for %s took %5.2f seconds (%i - %i)\n", url,
|
||||||
after.tv_sec - before.tv_sec + (1.0*after.tv_usec - before.tv_usec) / 1000000.0, ret, (int)timestamp);
|
after.tv_sec - before.tv_sec + (1.0*after.tv_usec - before.tv_usec) / 1000000.0, ret, (int)timestamp);
|
||||||
|
|
||||||
|
/* tell the other side we're done with the download */
|
||||||
|
write(fd, "ok", 3);
|
||||||
|
close(fd);
|
||||||
|
|
||||||
|
|
||||||
if (ret != 200)
|
|
||||||
printf("Request for %s resulted in error %i\n", url, ret);
|
|
||||||
free(url);
|
free(url);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user