mirror of
https://github.com/clearlinux/clr-debug-info.git
synced 2026-09-06 13:51:38 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
60db7bab0f | ||
|
|
ef6b11498a | ||
|
|
efeed3e83f | ||
|
|
f5542e7fbb | ||
|
|
be8a99da53 | ||
|
|
c9304402e2 | ||
|
|
6e202f13f7 | ||
|
|
6735f8f6ed | ||
|
|
8b3777ab99 | ||
|
|
84350939ef | ||
|
|
72b1120a40 |
@@ -1,5 +1,6 @@
|
||||
[Unit]
|
||||
Description=Clear Linux debuginfo daemon
|
||||
DefaultDependencies=no
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[Unit]
|
||||
Description=Clear Linux debuginfo fuse monitor
|
||||
After=clr_debug_daemon.service
|
||||
DefaultDependencies=no
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.66])
|
||||
AC_INIT(clr-debug-info, 33, arjan@linux.intel.com)
|
||||
AC_INIT(clr-debug-info, 43, arjan@linux.intel.com)
|
||||
AM_INIT_AUTOMAKE([foreign -Wall -W subdir-objects])
|
||||
AM_SILENT_RULES([yes])
|
||||
AC_PROG_CC
|
||||
|
||||
+1
-1
@@ -113,7 +113,7 @@ bool nc_copy_file(const char *src, const char *dst, mode_t mode, bool remove_tar
|
||||
while (true) {
|
||||
if ((r = read(src_fd, &buffer, sizeof(buffer))) < 0) {
|
||||
ret = false;
|
||||
break;
|
||||
goto end;
|
||||
}
|
||||
if (write(dest_fd, buffer, sizeof(buffer)) != r) {
|
||||
break;
|
||||
|
||||
+7
-5
@@ -123,8 +123,8 @@ static inline unsigned nc_hashmap_get_hash(NcHashmap *self, const void *key)
|
||||
return hash;
|
||||
}
|
||||
|
||||
static bool nc_hashmap_insert_bucket(NcHashmap *self, NcHashmapEntry *buckets, int n_buckets,
|
||||
unsigned hash, const void *key, void *value)
|
||||
static int nc_hashmap_insert_bucket(NcHashmap *self, NcHashmapEntry *buckets, int n_buckets,
|
||||
unsigned hash, const void *key, void *value)
|
||||
{
|
||||
NcHashmapEntry *row = &(buckets[hash % n_buckets]);
|
||||
NcHashmapEntry *head = NULL;
|
||||
@@ -458,10 +458,12 @@ bool nc_hashmap_iter_next(NcHashmapIter *citer, void **key, void **value)
|
||||
}
|
||||
item = &(map->buckets[iter->bucket]);
|
||||
}
|
||||
if (item && item->occ) {
|
||||
goto success;
|
||||
if (item) {
|
||||
if (item->occ) {
|
||||
goto success;
|
||||
}
|
||||
item = item->next;
|
||||
}
|
||||
item = item->next;
|
||||
}
|
||||
return false;
|
||||
|
||||
|
||||
+16
-2
@@ -162,6 +162,7 @@ static int curl_get_file(const char *url, const char *prefix, time_t timestamp)
|
||||
{
|
||||
CURLcode code;
|
||||
long ret;
|
||||
long changed;
|
||||
int fd;
|
||||
char filename[PATH_MAX];
|
||||
CURL *curl = NULL;
|
||||
@@ -203,6 +204,9 @@ static int curl_get_file(const char *url, const char *prefix, time_t timestamp)
|
||||
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 30);
|
||||
curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 1024);
|
||||
|
||||
/* request timestamp of files from server */
|
||||
curl_easy_setopt(curl, CURLOPT_FILETIME, 1);
|
||||
|
||||
if (timestamp) {
|
||||
curl_easy_setopt(curl, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE);
|
||||
curl_easy_setopt(curl, CURLOPT_TIMEVALUE, timestamp);
|
||||
@@ -230,6 +234,17 @@ static int curl_get_file(const char *url, const char *prefix, time_t timestamp)
|
||||
}
|
||||
|
||||
if (ret == 200) {
|
||||
/* get timestamp, if any */
|
||||
curl_easy_getinfo(curl, CURLINFO_FILETIME, &changed);
|
||||
if (changed >= 0) {
|
||||
struct timespec times[2];
|
||||
times[0].tv_sec = (time_t)changed;
|
||||
times[0].tv_nsec = 0;
|
||||
times[1].tv_sec = (time_t)changed;
|
||||
times[1].tv_nsec = 0;
|
||||
futimens(fd, times);
|
||||
}
|
||||
|
||||
autofree(char) *command = NULL;
|
||||
// printf("Filename is %s\n", filename);
|
||||
|
||||
@@ -237,7 +252,7 @@ static int curl_get_file(const char *url, const char *prefix, time_t timestamp)
|
||||
stat(filename, &statbuf);
|
||||
if (statbuf.st_size > 0 &&
|
||||
asprintf(&command,
|
||||
"tar -C /var/cache/debuginfo/%s --no-same-owner -xf %s",
|
||||
"tar -C /var/cache/debuginfo/%s --no-same-owner --no-same-permissions -xf %s",
|
||||
prefix,
|
||||
filename) >= 0) {
|
||||
if (system(command) != 0) {
|
||||
@@ -282,7 +297,6 @@ static void *server_thread(void *arg)
|
||||
if (ret < 0) {
|
||||
goto thread_end;
|
||||
}
|
||||
prefix = buf;
|
||||
c = strchr(buf, ':');
|
||||
if (!c) {
|
||||
goto thread_end;
|
||||
|
||||
Reference in New Issue
Block a user