aboutsummaryrefslogtreecommitdiff
path: root/perf
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2010-08-22 08:27:03 -0400
committerArjan van de Ven <arjan@linux.intel.com>2010-08-22 08:27:03 -0400
commit08fdfb1bdd73fb604e4cbb542cc2f5ce39d03486 (patch)
tree534cfab47103c6e6095cfa4454ae9e101883cf7c /perf
parentcadb8f9a59bbb327ee993bda1e12776b8a0ce03f (diff)
downloadpowertop-08fdfb1bdd73fb604e4cbb542cc2f5ce39d03486.tar.gz
deal much better with non-existing tracepoints
Diffstat (limited to 'perf')
-rw-r--r--perf/perf_bundle.cpp13
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;
+ }
}
}