diff options
author | Petr Machata <pmachata@redhat.com> | 2012-04-24 18:09:01 +0200 |
---|---|---|
committer | Petr Machata <pmachata@redhat.com> | 2012-04-24 18:09:01 +0200 |
commit | 86d3828129e70222abdb77bdda6f31a7f1eafd5a (patch) | |
tree | 32c8b68c408896c337bed3c4c1e385a077d8b73a /sysdeps/linux-gnu/trace.c | |
parent | 4e1c06694c2ad99458817dcf9f1c6a73339cadd7 (diff) | |
download | ltrace-86d3828129e70222abdb77bdda6f31a7f1eafd5a.tar.gz |
Add on_retract breakpoint callback
Diffstat (limited to 'sysdeps/linux-gnu/trace.c')
-rw-r--r-- | sysdeps/linux-gnu/trace.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/linux-gnu/trace.c b/sysdeps/linux-gnu/trace.c index 809714f..5ad82cd 100644 --- a/sysdeps/linux-gnu/trace.c +++ b/sysdeps/linux-gnu/trace.c @@ -423,11 +423,19 @@ remove_task(struct Process *task, void *data) return CBS_CONT; } +static enum callback_status +retract_breakpoint_cb(struct Process *proc, struct breakpoint *bp, void *data) +{ + breakpoint_on_retract(bp, proc); + return CBS_CONT; +} + static void detach_process(Process * leader) { each_qd_event(&undo_breakpoint, leader); disable_all_breakpoints(leader); + proc_each_breakpoint(leader, NULL, retract_breakpoint_cb, NULL); /* Now untrace the process, if it was attached to by -p. */ struct opt_p_t * it; |