summaryrefslogtreecommitdiffstats
path: root/tapsets.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'tapsets.cxx')
-rw-r--r--tapsets.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/tapsets.cxx b/tapsets.cxx
index 8d08ea5e..d250521c 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -161,6 +161,7 @@ be_derived_probe::emit_probe_entries (translator_output* o, unsigned j)
o->newline(1) << "printk (KERN_ERR \"probe reentrancy (%s vs %s)\\n\", "
<< "c->probe_point, probe_point);";
o->newline() << "atomic_set (& session_state, STAP_SESSION_ERROR);";
+ o->newline() << "atomic_dec (&c->busy);";
o->newline() << "return;";
o->newline(-1) << "}";
o->newline();
@@ -2151,6 +2152,7 @@ dwarf_derived_probe::emit_probe_entries (translator_output* o, unsigned probenum
o->newline(1) << "printk (KERN_ERR \"probe reentrancy (%s vs %s)\\n\", "
<< "c->probe_point, probe_point);";
o->newline() << "atomic_set (& session_state, STAP_SESSION_ERROR);";
+ o->newline() << "atomic_dec (&c->busy);";
o->newline() << "return 0;";
o->newline(-1) << "}";
o->newline();
@@ -2312,6 +2314,7 @@ timer_derived_probe::emit_probe_entries (translator_output* o, unsigned j)
o->newline(1) << "printk (KERN_ERR \"probe reentrancy (%s vs %s)\\n\", "
<< "c->probe_point, probe_point);";
o->newline() << "atomic_set (& session_state, STAP_SESSION_ERROR);";
+ o->newline() << "atomic_dec (&c->busy);";
o->newline() << "return;";
o->newline(-1) << "}";
o->newline();