From 611ab8263198e3e8c2640cb4a3e1eb65e2037f96 Mon Sep 17 00:00:00 2001 From: Stan Cox Date: Tue, 16 Jun 2009 10:59:25 -0400 Subject: Do not emit duplicate probes for kprobe/utrace cases. * tapsets.cxx (dwarf_builder) Add probes_handled. (dwarf_builder::build): Use probes_handled to not emit duplicates. --- tapsets.cxx | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tapsets.cxx') diff --git a/tapsets.cxx b/tapsets.cxx index 0da61d9e..5e9deb9b 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -658,6 +658,7 @@ struct dwarf_builder: public derived_probe_builder literal_map_t const & parameters, vector & finished_results); + set probes_handled; struct probe_table { public: @@ -3480,6 +3481,13 @@ dwarf_builder::build(systemtap_session & sess, { do { + set::iterator pb; + pb = probes_handled.find(probe_table.mark_name); + if (pb == probes_handled.end()) + probes_handled.insert (probe_table.mark_name); + else + return; + probe *new_base = new probe; *new_base = *base; -- cgit