diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2010-08-22 08:27:03 -0400 |
---|---|---|
committer | Arjan van de Ven <arjan@linux.intel.com> | 2010-08-22 08:27:03 -0400 |
commit | 08fdfb1bdd73fb604e4cbb542cc2f5ce39d03486 (patch) | |
tree | 534cfab47103c6e6095cfa4454ae9e101883cf7c /perf | |
parent | cadb8f9a59bbb327ee993bda1e12776b8a0ce03f (diff) | |
download | powertop-08fdfb1bdd73fb604e4cbb542cc2f5ce39d03486.tar.gz |
deal much better with non-existing tracepoints
Diffstat (limited to 'perf')
-rw-r--r-- | perf/perf_bundle.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/perf/perf_bundle.cpp b/perf/perf_bundle.cpp index 84af3d7..1ba024e 100644 --- a/perf/perf_bundle.cpp +++ b/perf/perf_bundle.cpp @@ -44,11 +44,16 @@ void perf_bundle::add_event(const char *event_name) ev->set_event_name(event_name); ev->set_cpu(i); - if (event_names.size() <= ev->trace_type) - event_names.resize(ev->trace_type + 1, NULL); - event_names[ev->trace_type] = strdup(event_name); - events.push_back(ev); + if ((int)ev->trace_type >= 0) { + if (event_names.size() <= ev->trace_type) + event_names.resize(ev->trace_type + 1, NULL); + event_names[ev->trace_type] = strdup(event_name); + + events.push_back(ev); + } else { + delete ev; + } } } |