run_collectors(procs);
}
-static struct file *collect_file(struct stat *sb, char *name, int assoc)
+static struct file *collect_file(struct proc *proc __attribute__((__unused__)),
+ struct stat *sb, char *name, int assoc)
{
switch (sb->st_mode & S_IFMT) {
case S_IFCHR:
}
}
-static struct file *collect_fd_file(int dd, struct dirent *dp, void *data)
+static struct file *collect_fd_file(struct proc *proc, int dd, struct dirent *dp, void *data)
{
long num;
char *endptr = NULL;
if ((len = readlinkat(dd, dp->d_name, sym, sizeof(sym) - 1)) < 0)
return NULL;
- f = collect_file(&sb, sym, (int)num);
+ f = collect_file(proc, &sb, sym, (int)num);
if (!f)
return NULL;
return NULL;
}
-static struct file *collect_mem_file(int dd, struct dirent *dp,
+static struct file *collect_mem_file(struct proc *proc, int dd, struct dirent *dp,
void *data)
{
struct list_head *maps = data;
map = find_map(maps, start);
assoc = (map && map->shared)? ASSOC_SHM: ASSOC_MEM;
- f = collect_file(&sb, sym, -assoc);
+ f = collect_file(proc, &sb, sym, -assoc);
if (!f)
return NULL;
static void collect_fd_files_generic(struct proc *proc, const char *proc_template,
- struct file *(*collector)(int, struct dirent *, void *),
+ struct file *(*collector)(struct proc *,int, struct dirent *, void *),
void *data)
{
DIR *dirp;
while ((dp = xreaddir(dirp))) {
struct file *file;
- if ((file = (* collector)(dd, dp, data)) == NULL)
+ if ((file = (* collector)(proc, dd, dp, data)) == NULL)
continue;
enqueue_file(proc, file);
free_maps(&maps);
}
-static struct file *collect_outofbox_file(int dd, const char *name, int association)
+static struct file *collect_outofbox_file(struct proc *proc,
+ int dd, const char *name, int association)
{
struct stat sb;
ssize_t len;
if ((len = readlinkat(dd, name, sym, sizeof(sym) - 1)) < 0)
return NULL;
- return collect_file(&sb, sym, association);
+ return collect_file(proc, &sb, sym, association);
}
static void collect_proc_uid(struct proc *proc, int dd)
if (assocs[i] == ASSOC_EXE)
collect_proc_uid(proc, dd);
- if ((file = collect_outofbox_file(dd,
+ if ((file = collect_outofbox_file(proc, dd,
assoc_names[assocs[i]],
assocs[i] * -1)) == NULL)
continue;