diff options
Diffstat (limited to 'src/tools/perf/util/thread.c')
-rw-r--r-- | src/tools/perf/util/thread.c | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/src/tools/perf/util/thread.c b/src/tools/perf/util/thread.c deleted file mode 100644 index e3d4a55..0000000 --- a/src/tools/perf/util/thread.c +++ /dev/null @@ -1,91 +0,0 @@ -#include "../perf.h" -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include "session.h" -#include "thread.h" -#include "util.h" -#include "debug.h" - -struct thread *thread__new(pid_t pid, pid_t tid) -{ - struct thread *self = zalloc(sizeof(*self)); - - if (self != NULL) { - map_groups__init(&self->mg); - self->pid_ = pid; - self->tid = tid; - self->ppid = -1; - self->comm = malloc(32); - if (self->comm) - snprintf(self->comm, 32, ":%d", self->tid); - } - - return self; -} - -void thread__delete(struct thread *self) -{ - map_groups__exit(&self->mg); - free(self->comm); - free(self); -} - -int thread__set_comm(struct thread *self, const char *comm) -{ - int err; - - if (self->comm) - free(self->comm); - self->comm = strdup(comm); - err = self->comm == NULL ? -ENOMEM : 0; - if (!err) { - self->comm_set = true; - } - return err; -} - -int thread__comm_len(struct thread *self) -{ - if (!self->comm_len) { - if (!self->comm) - return 0; - self->comm_len = strlen(self->comm); - } - - return self->comm_len; -} - -size_t thread__fprintf(struct thread *thread, FILE *fp) -{ - return fprintf(fp, "Thread %d %s\n", thread->tid, thread->comm) + - map_groups__fprintf(&thread->mg, verbose, fp); -} - -void thread__insert_map(struct thread *self, struct map *map) -{ - map_groups__fixup_overlappings(&self->mg, map, verbose, stderr); - map_groups__insert(&self->mg, map); -} - -int thread__fork(struct thread *self, struct thread *parent) -{ - int i; - - if (parent->comm_set) { - if (self->comm) - free(self->comm); - self->comm = strdup(parent->comm); - if (!self->comm) - return -ENOMEM; - self->comm_set = true; - } - - for (i = 0; i < MAP__NR_TYPES; ++i) - if (map_groups__clone(&self->mg, &parent->mg, i) < 0) - return -ENOMEM; - - self->ppid = parent->tid; - - return 0; -} |