2011-05-30 Pedro Alves <pedro@codesourcery.com>
authorPedro Alves <palves@redhat.com>
Mon, 30 May 2011 18:04:32 +0000 (18:04 +0000)
committerPedro Alves <palves@redhat.com>
Mon, 30 May 2011 18:04:32 +0000 (18:04 +0000)
commitfa4cd53f7d2a4d6981bc4e09d5233f0df2c7f1cd
treefbf033c82d112b48b3a47155cf5223e737eb3a88
parentc2949be03bf333bd3de59dc3260762d3201f6b79
2011-05-30  Pedro Alves  <pedro@codesourcery.com>

gdb/
* continuations.h (continuation_ftype): Add `err' parameter.
Document parameters.
(do_all_continuations, do_all_continuations_thread)
(do_all_intermediate_continuations)
(do_all_intermediate_continuations_thread)
(do_all_inferior_continuations): Add `err' parameter.
* continuations.c (do_my_continuations_1, do_my_continuations)
(do_all_inferior_continuations, do_all_continuations_ptid)
(do_all_continuations_thread_callback)
(do_all_continuations_thread, do_all_continuations)
(do_all_intermediate_continuations_thread_callback)
(do_all_intermediate_continuations_thread)
(do_all_intermediate_continuations): Add `err' parameter, and pass
it down all the way to the continuations proper.
* inf-loop.c (inferior_event_handler): If fetching an inferior
event throws an error, don't pop the target, and still call the
continuations, but with `err' set.  Adjust all other continuation
calls.
* breakpoint.c (until_break_command_continuation): Add `err'
parameter.
* infcmd.c (step_1_continuation): Add `err' parameter.  Don't
issue another step if `err' is set.
(struct until_next_continuation_args): New.
(until_next_continuation): Add `err' parameter.  Adjust.
(until_next_command): Adjust.
(struct finish_command_continuation_args): Add `thread' field.
(finish_command_continuation): Add `err' parameter.  Handle it.
(finish_forward): Adjust.
(attach_command_continuation): Add `err' parameter.  Handle it.
* infrun.c (infrun_thread_stop_requested_callback): Adjust to
cancel the continuations.
* interps.c (interp_set): Adjust to cancel the continuations.
* thread.c (clear_thread_inferior_resources): Adjust to cancel the
continuations rather than discarding.
(free_thread): Don't clear thread inferior resources here.
(delete_thread_1): Do it here instead.  And do it before removing
the thread from the threads list.  Tag the thread as exited before
clearing thread inferior resources.
gdb/ChangeLog
gdb/breakpoint.c
gdb/continuations.c
gdb/continuations.h
gdb/inf-loop.c
gdb/infcmd.c
gdb/infrun.c
gdb/interps.c
gdb/thread.c