diff options
author | Andrew Cagney <cagney@redhat.com> | 2000-05-15 05:54:02 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2000-05-15 05:54:02 +0000 |
commit | 4d6140d95eace437441b17dd43a7b0a456d3803a (patch) | |
tree | 6ebc416c9c0ea228f20b88c26221020dde972f3e /gdb/breakpoint.c | |
parent | 3339cf8b68bc5b7f14a4d255daae2a06b8dd5d77 (diff) | |
download | gdb-4d6140d95eace437441b17dd43a7b0a456d3803a.zip gdb-4d6140d95eace437441b17dd43a7b0a456d3803a.tar.gz gdb-4d6140d95eace437441b17dd43a7b0a456d3803a.tar.bz2 |
Cleanup delete_breakpoint cleanups.
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r-- | gdb/breakpoint.c | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 98bd236..7826a65 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -5752,10 +5752,9 @@ until_break_command (arg, from_tty) breakpoint = set_momentary_breakpoint (sal, selected_frame, bp_until); if (!event_loop_p || !target_can_async_p ()) - old_chain = make_cleanup ((make_cleanup_func) delete_breakpoint, - breakpoint); + old_chain = make_cleanup_delete_breakpoint (breakpoint); else - old_chain = make_exec_cleanup ((make_cleanup_func) delete_breakpoint, breakpoint); + old_chain = make_exec_cleanup_delete_breakpoint (breakpoint); /* If we are running asynchronously, and the target supports async execution, we are not waiting for the target to stop, in the call @@ -5786,9 +5785,9 @@ until_break_command (arg, from_tty) sal.pc = prev_frame->pc; breakpoint = set_momentary_breakpoint (sal, prev_frame, bp_until); if (!event_loop_p || !target_can_async_p ()) - make_cleanup ((make_cleanup_func) delete_breakpoint, breakpoint); + make_cleanup_delete_breakpoint (breakpoint); else - make_exec_cleanup ((make_cleanup_func) delete_breakpoint, breakpoint); + make_exec_cleanup_delete_breakpoint (breakpoint); } proceed (-1, TARGET_SIGNAL_DEFAULT, 0); @@ -7068,6 +7067,24 @@ delete_breakpoint (bpt) free ((PTR) bpt); } +static void +do_delete_breakpoint_cleanup (void *b) +{ + delete_breakpoint (b); +} + +struct cleanup * +make_cleanup_delete_breakpoint (struct breakpoint *b) +{ + return make_cleanup (do_delete_breakpoint_cleanup, b); +} + +struct cleanup * +make_exec_cleanup_delete_breakpoint (struct breakpoint *b) +{ + return make_exec_cleanup (do_delete_breakpoint_cleanup, b); +} + void delete_command (arg, from_tty) char *arg; |