summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'tapsets.cxx')
-rw-r--r--tapsets.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index c174db2f..5fcef4aa 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -2330,7 +2330,7 @@ dwarf_derived_probe::add_probe_point(string const & funcname,
string fn_or_stmt;
if (q.has_function_str || q.has_function_num)
fn_or_stmt = "function";
- if (q.has_inline_str || q.has_inline_num)
+ else if (q.has_inline_str || q.has_inline_num)
fn_or_stmt = "inline";
else
fn_or_stmt = "statement";
@@ -2552,7 +2552,10 @@ dwarf_derived_probe::emit_registrations (translator_output* o,
o->newline() << "rc = register_kprobe (&(" << probe_name << "));";
}
- o->newline() << "if (unlikely (rc)) break;";
+ o->newline() << "if (unlikely (rc)) {";
+ o->newline(1) << "probe_point = " << string_array_name (probenum) << "[i];";
+ o->newline() << "break;";
+ o->newline(-1) << "}";
o->newline(-1) << "}";
// if one failed, must roll back completed registations for this probe