Let perf_evlist__delete do all the necessary cleanup.

All the cleanup functions check if the their data is
created before cleaning it up, so it's ok to call any
of them separately before perf_evlist__delete.

Link: http://lkml.kernel.org/n/tip-9l1dsswu6rkejfbjg9zm4...@git.kernel.org
Signed-off-by: Jiri Olsa <jo...@kernel.org>
---
 tools/perf/lib/evlist.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/perf/lib/evlist.c b/tools/perf/lib/evlist.c
index 1c8a9e283adc..8920833afa9e 100644
--- a/tools/perf/lib/evlist.c
+++ b/tools/perf/lib/evlist.c
@@ -132,6 +132,11 @@ void perf_evlist__exit(struct perf_evlist *evlist)
 
 void perf_evlist__delete(struct perf_evlist *evlist)
 {
+       if (evlist == NULL)
+               return;
+
+       perf_evlist__munmap(evlist);
+       perf_evlist__close(evlist);
        perf_evlist__purge(evlist);
        perf_evlist__exit(evlist);
        free(evlist);
-- 
2.21.0

Reply via email to