diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-06-21 17:15:45 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2016-06-22 09:01:48 -0400 |
commit | 0b04b3dcdfb9aeb0e83c8ca322bf0830ee51ce38 (patch) | |
tree | 183b7008d41ce1f5feb7c840a2540d93a830e9e6 | |
parent | 89c7cb2cad5e5e3675df3ba1c12fe2f64dc691d6 (diff) |
perf evlist: Destructors should accept NULL
And do nothing, just like free(), to avoid having to test it in callers,
usually in error paths.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-mexbavy0ft387j5w89t365eu@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/builtin-kvm.c | 3 | ||||
-rw-r--r-- | tools/perf/tests/event-times.c | 3 | ||||
-rw-r--r-- | tools/perf/tests/parse-no-sample-id-all.c | 3 | ||||
-rw-r--r-- | tools/perf/util/evlist.c | 3 |
4 files changed, 6 insertions, 6 deletions
diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c index 6487c06d2708..ad46e91abec5 100644 --- a/tools/perf/builtin-kvm.c +++ b/tools/perf/builtin-kvm.c | |||
@@ -1429,8 +1429,7 @@ out: | |||
1429 | if (kvm->session) | 1429 | if (kvm->session) |
1430 | perf_session__delete(kvm->session); | 1430 | perf_session__delete(kvm->session); |
1431 | kvm->session = NULL; | 1431 | kvm->session = NULL; |
1432 | if (kvm->evlist) | 1432 | perf_evlist__delete(kvm->evlist); |
1433 | perf_evlist__delete(kvm->evlist); | ||
1434 | 1433 | ||
1435 | return err; | 1434 | return err; |
1436 | } | 1435 | } |
diff --git a/tools/perf/tests/event-times.c b/tools/perf/tests/event-times.c index 95fb744f6628..9f5698ac81ae 100644 --- a/tools/perf/tests/event-times.c +++ b/tools/perf/tests/event-times.c | |||
@@ -200,8 +200,7 @@ static int test_times(int (attach)(struct perf_evlist *), | |||
200 | count.ena, count.run); | 200 | count.ena, count.run); |
201 | 201 | ||
202 | out_err: | 202 | out_err: |
203 | if (evlist) | 203 | perf_evlist__delete(evlist); |
204 | perf_evlist__delete(evlist); | ||
205 | return !err ? TEST_OK : TEST_FAIL; | 204 | return !err ? TEST_OK : TEST_FAIL; |
206 | } | 205 | } |
207 | 206 | ||
diff --git a/tools/perf/tests/parse-no-sample-id-all.c b/tools/perf/tests/parse-no-sample-id-all.c index 294c76b01b41..81c6eeaca0f5 100644 --- a/tools/perf/tests/parse-no-sample-id-all.c +++ b/tools/perf/tests/parse-no-sample-id-all.c | |||
@@ -44,8 +44,7 @@ static int process_events(union perf_event **events, size_t count) | |||
44 | for (i = 0; i < count && !err; i++) | 44 | for (i = 0; i < count && !err; i++) |
45 | err = process_event(&evlist, events[i]); | 45 | err = process_event(&evlist, events[i]); |
46 | 46 | ||
47 | if (evlist) | 47 | perf_evlist__delete(evlist); |
48 | perf_evlist__delete(evlist); | ||
49 | 48 | ||
50 | return err; | 49 | return err; |
51 | } | 50 | } |
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index 1b918aa075d6..fcb8f1ff7806 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c | |||
@@ -127,6 +127,9 @@ void perf_evlist__exit(struct perf_evlist *evlist) | |||
127 | 127 | ||
128 | void perf_evlist__delete(struct perf_evlist *evlist) | 128 | void perf_evlist__delete(struct perf_evlist *evlist) |
129 | { | 129 | { |
130 | if (evlist == NULL) | ||
131 | return; | ||
132 | |||
130 | perf_evlist__munmap(evlist); | 133 | perf_evlist__munmap(evlist); |
131 | perf_evlist__close(evlist); | 134 | perf_evlist__close(evlist); |
132 | cpu_map__put(evlist->cpus); | 135 | cpu_map__put(evlist->cpus); |