From 930a1798154b9c1caf27009825b2b165ef577a1e Mon Sep 17 00:00:00 2001 From: David Smith Date: Tue, 19 Aug 2008 12:12:06 -0500 Subject: PR 6841 fix. 2008-08-19 David Smith PR 6841 * tapsets.cxx (utrace_derived_probe_group::emit_probe_decl): Workaround utrace bug by quiescing threads before attaching a utrace syscall engine to them. (utrace_derived_probe_group::emit_module_decls): Emit quiesce handler. 2008-08-19 David Smith PR 6841 * task_finder.c (__stp_utrace_task_finder_target_quiesce): Quiesces thread before turning on syscall tracing. --- runtime/ChangeLog | 6 ++++++ runtime/task_finder.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'runtime') diff --git a/runtime/ChangeLog b/runtime/ChangeLog index 58678de5..796f812c 100644 --- a/runtime/ChangeLog +++ b/runtime/ChangeLog @@ -1,3 +1,9 @@ +2008-08-19 David Smith + + PR 6841 + * task_finder.c (__stp_utrace_task_finder_target_quiesce): + Quiesces thread before turning on syscall tracing. + 2008-08-14 Frank Ch. Eigler PR 6842. diff --git a/runtime/task_finder.c b/runtime/task_finder.c index 928b7087..d7450a41 100644 --- a/runtime/task_finder.c +++ b/runtime/task_finder.c @@ -317,7 +317,7 @@ __stp_get_mm_path(struct mm_struct *mm, char *buf, int buflen) | UTRACE_EVENT(SYSCALL_ENTRY) \ | UTRACE_EVENT(SYSCALL_EXIT)) -#define __STP_ATTACHED_TASK_VM_EVENTS (__STP_ATTACHED_TASK_VM_BASE_EVENTS \ +#define __STP_ATTACHED_TASK_VM_EVENTS (__STP_ATTACHED_TASK_BASE_EVENTS \ | UTRACE_ACTION_QUIESCE \ | UTRACE_EVENT(QUIESCE)) @@ -608,7 +608,7 @@ __stp_utrace_task_finder_target_quiesce(struct utrace_attached_engine *engine, { struct stap_task_finder_target *tgt = engine->data; - // Turn off quiesce handling. + // Turn off quiesce handling (and turn on syscall handling). utrace_set_flags(tsk, engine, __STP_ATTACHED_TASK_VM_BASE_EVENTS); if (atomic_read(&__stp_task_finder_state) != __STP_TF_RUNNING) { -- cgit