summaryrefslogtreecommitdiffstats
path: root/runtime/itrace.c
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2009-12-02 16:41:11 -0500
committerDave Brolley <brolley@redhat.com>2009-12-02 16:41:11 -0500
commit6bb613f9be856632dec47cab4b27a7fe92c2fe64 (patch)
tree76e778645ea20df5fd89981994ee249fc760d4f5 /runtime/itrace.c
parent5d4ea4cc1d1f7531fb0ff4d0498957e0333a61eb (diff)
parent4a0ae64c47b159d4dd0ea471f1f8044503843a7f (diff)
downloadsystemtap-steved-6bb613f9be856632dec47cab4b27a7fe92c2fe64.tar.gz
systemtap-steved-6bb613f9be856632dec47cab4b27a7fe92c2fe64.tar.xz
systemtap-steved-6bb613f9be856632dec47cab4b27a7fe92c2fe64.zip
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
Diffstat (limited to 'runtime/itrace.c')
-rw-r--r--runtime/itrace.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/runtime/itrace.c b/runtime/itrace.c
index 03e1e403..f2ed86f2 100644
--- a/runtime/itrace.c
+++ b/runtime/itrace.c
@@ -131,9 +131,16 @@ static u32 usr_itrace_report_signal(u32 action,
ui = rcu_dereference(engine->data);
WARN_ON(!ui);
-
- if (info->si_signo != SIGTRAP || !ui)
- return UTRACE_RESUME;
+
+#if defined(UTRACE_ORIG_VERSION)
+ if (info->si_signo != SIGTRAP || !ui)
+ return UTRACE_RESUME;
+#else
+ if (utrace_signal_action(action) == UTRACE_SIGNAL_HANDLER ||
+ utrace_signal_action(action) == UTRACE_SIGNAL_REPORT ||
+ info->si_signo != SIGTRAP || !ui)
+ return UTRACE_RESUME | utrace_signal_action(action);
+#endif
#if defined(UTRACE_ORIG_VERSION) && defined(CONFIG_PPC)
/* Because of a ppc utrace bug, we need to stop the task here.