* inf-loop.c (inferior_event_handler): Call bpstat_do_action,

and catch all exceptions from it.
	* top.c (command_line_handler_continuation): Don't
	call bpstat_do_action here.
This commit is contained in:
Vladimir Prus
2008-05-05 09:02:59 +00:00
parent 6766b6945a
commit fcfb8b02aa
3 changed files with 14 additions and 2 deletions

View File

@@ -43,6 +43,7 @@ void
inferior_event_handler (enum inferior_event_type event_type,
gdb_client_data client_data)
{
struct gdb_exception e;
int was_sync = 0;
switch (event_type)
{
@@ -91,6 +92,12 @@ inferior_event_handler (enum inferior_event_type event_type,
was_sync = sync_execution;
async_enable_stdin ();
/* If there's an error doing breakpoint commands, we don't
want to throw -- continuation might still do something. */
TRY_CATCH (e, RETURN_MASK_ALL)
{
bpstat_do_actions (&stop_bpstat);
}
/* If we were doing a multi-step (eg: step n, next n), but it
got interrupted by a breakpoint, still do the pending
continuations. The continuation itself is responsible for