diff options
-rw-r--r-- | tools/perf/util/thread.c | 4 | ||||
-rw-r--r-- | tools/perf/util/thread.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c index 632e40e5ceca..40399cbcca77 100644 --- a/tools/perf/util/thread.c +++ b/tools/perf/util/thread.c | |||
@@ -14,6 +14,7 @@ struct thread *thread__new(pid_t pid) | |||
14 | if (self != NULL) { | 14 | if (self != NULL) { |
15 | map_groups__init(&self->mg); | 15 | map_groups__init(&self->mg); |
16 | self->pid = pid; | 16 | self->pid = pid; |
17 | self->ppid = -1; | ||
17 | self->comm = malloc(32); | 18 | self->comm = malloc(32); |
18 | if (self->comm) | 19 | if (self->comm) |
19 | snprintf(self->comm, 32, ":%d", self->pid); | 20 | snprintf(self->comm, 32, ":%d", self->pid); |
@@ -82,5 +83,8 @@ int thread__fork(struct thread *self, struct thread *parent) | |||
82 | for (i = 0; i < MAP__NR_TYPES; ++i) | 83 | for (i = 0; i < MAP__NR_TYPES; ++i) |
83 | if (map_groups__clone(&self->mg, &parent->mg, i) < 0) | 84 | if (map_groups__clone(&self->mg, &parent->mg, i) < 0) |
84 | return -ENOMEM; | 85 | return -ENOMEM; |
86 | |||
87 | self->ppid = parent->pid; | ||
88 | |||
85 | return 0; | 89 | return 0; |
86 | } | 90 | } |
diff --git a/tools/perf/util/thread.h b/tools/perf/util/thread.h index 5ad266403098..eeb7ac62b9e3 100644 --- a/tools/perf/util/thread.h +++ b/tools/perf/util/thread.h | |||
@@ -13,6 +13,7 @@ struct thread { | |||
13 | }; | 13 | }; |
14 | struct map_groups mg; | 14 | struct map_groups mg; |
15 | pid_t pid; | 15 | pid_t pid; |
16 | pid_t ppid; | ||
16 | char shortname[3]; | 17 | char shortname[3]; |
17 | bool comm_set; | 18 | bool comm_set; |
18 | char *comm; | 19 | char *comm; |