mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-01 13:26:47 +08:00
* infrun.c (keep_going): Wrap with resume_cleanups.
This commit is contained in:
parent
9a7071a8ce
commit
c4dbc9afcc
@ -1,3 +1,7 @@
|
||||
2009-10-28 Pedro Alves <pedro@codesourcery.com>
|
||||
|
||||
* infrun.c (keep_going): Wrap with resume_cleanups.
|
||||
|
||||
2009-10-27 Paul Pluzhnikov <ppluzhnikov@google.com>
|
||||
|
||||
* MAINTAINERS: Add self to "modify-after-approval" maintainers.
|
||||
|
@ -4812,6 +4812,10 @@ stop_stepping (struct execution_control_state *ecs)
|
||||
static void
|
||||
keep_going (struct execution_control_state *ecs)
|
||||
{
|
||||
/* Make sure normal_stop is called if we get a QUIT handled before
|
||||
reaching resume. */
|
||||
struct cleanup *old_cleanups = make_cleanup (resume_cleanups, 0);
|
||||
|
||||
/* Save the pc before execution, to compare with pc after stop. */
|
||||
ecs->event_thread->prev_pc
|
||||
= regcache_read_pc (get_thread_regcache (ecs->ptid));
|
||||
@ -4825,6 +4829,8 @@ keep_going (struct execution_control_state *ecs)
|
||||
/* We took a signal (which we are supposed to pass through to
|
||||
the inferior, else we'd not get here) and we haven't yet
|
||||
gotten our trap. Simply continue. */
|
||||
|
||||
discard_cleanups (old_cleanups);
|
||||
resume (currently_stepping (ecs->event_thread),
|
||||
ecs->event_thread->stop_signal);
|
||||
}
|
||||
@ -4887,6 +4893,7 @@ keep_going (struct execution_control_state *ecs)
|
||||
&& !signal_program[ecs->event_thread->stop_signal])
|
||||
ecs->event_thread->stop_signal = TARGET_SIGNAL_0;
|
||||
|
||||
discard_cleanups (old_cleanups);
|
||||
resume (currently_stepping (ecs->event_thread),
|
||||
ecs->event_thread->stop_signal);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user