aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/util/session.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index ce6f51162386..d5fb60760bac 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -204,11 +204,28 @@ static void perf_session__delete_threads(struct perf_session *session)
204 machine__delete_threads(&session->host_machine); 204 machine__delete_threads(&session->host_machine);
205} 205}
206 206
207static void perf_session_env__delete(struct perf_session_env *env)
208{
209 free(env->hostname);
210 free(env->os_release);
211 free(env->version);
212 free(env->arch);
213 free(env->cpu_desc);
214 free(env->cpuid);
215
216 free(env->cmdline);
217 free(env->sibling_cores);
218 free(env->sibling_threads);
219 free(env->numa_nodes);
220 free(env->pmu_mappings);
221}
222
207void perf_session__delete(struct perf_session *self) 223void perf_session__delete(struct perf_session *self)
208{ 224{
209 perf_session__destroy_kernel_maps(self); 225 perf_session__destroy_kernel_maps(self);
210 perf_session__delete_dead_threads(self); 226 perf_session__delete_dead_threads(self);
211 perf_session__delete_threads(self); 227 perf_session__delete_threads(self);
228 perf_session_env__delete(&self->header.env);
212 machine__exit(&self->host_machine); 229 machine__exit(&self->host_machine);
213 close(self->fd); 230 close(self->fd);
214 free(self); 231 free(self);