diff options
author | David Smith <dsmith@redhat.com> | 2008-08-19 12:12:06 -0500 |
---|---|---|
committer | David Smith <dsmith@redhat.com> | 2008-08-19 12:12:06 -0500 |
commit | 930a1798154b9c1caf27009825b2b165ef577a1e (patch) | |
tree | 492977cab280f2b805bf760ec4108955a9af23d4 /runtime | |
parent | 480f38d3275c87ac5b58a95dd127633babfc7374 (diff) | |
download | systemtap-steved-930a1798154b9c1caf27009825b2b165ef577a1e.tar.gz systemtap-steved-930a1798154b9c1caf27009825b2b165ef577a1e.tar.xz systemtap-steved-930a1798154b9c1caf27009825b2b165ef577a1e.zip |
PR 6841 fix.
2008-08-19 David Smith <dsmith@redhat.com>
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 <dsmith@redhat.com>
PR 6841
* task_finder.c (__stp_utrace_task_finder_target_quiesce):
Quiesces thread before turning on syscall tracing.
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/ChangeLog | 6 | ||||
-rw-r--r-- | runtime/task_finder.c | 4 |
2 files changed, 8 insertions, 2 deletions
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 <dsmith@redhat.com> + + PR 6841 + * task_finder.c (__stp_utrace_task_finder_target_quiesce): + Quiesces thread before turning on syscall tracing. + 2008-08-14 Frank Ch. Eigler <fche@elastic.org> 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) { |