mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 18:08:24 +08:00
* infrun.c (keep_going): Wrap with resume_cleanups.
This commit is contained in:
@ -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>
|
2009-10-27 Paul Pluzhnikov <ppluzhnikov@google.com>
|
||||||
|
|
||||||
* MAINTAINERS: Add self to "modify-after-approval" maintainers.
|
* MAINTAINERS: Add self to "modify-after-approval" maintainers.
|
||||||
|
@ -4812,6 +4812,10 @@ stop_stepping (struct execution_control_state *ecs)
|
|||||||
static void
|
static void
|
||||||
keep_going (struct execution_control_state *ecs)
|
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. */
|
/* Save the pc before execution, to compare with pc after stop. */
|
||||||
ecs->event_thread->prev_pc
|
ecs->event_thread->prev_pc
|
||||||
= regcache_read_pc (get_thread_regcache (ecs->ptid));
|
= 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
|
/* 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
|
the inferior, else we'd not get here) and we haven't yet
|
||||||
gotten our trap. Simply continue. */
|
gotten our trap. Simply continue. */
|
||||||
|
|
||||||
|
discard_cleanups (old_cleanups);
|
||||||
resume (currently_stepping (ecs->event_thread),
|
resume (currently_stepping (ecs->event_thread),
|
||||||
ecs->event_thread->stop_signal);
|
ecs->event_thread->stop_signal);
|
||||||
}
|
}
|
||||||
@ -4887,6 +4893,7 @@ keep_going (struct execution_control_state *ecs)
|
|||||||
&& !signal_program[ecs->event_thread->stop_signal])
|
&& !signal_program[ecs->event_thread->stop_signal])
|
||||||
ecs->event_thread->stop_signal = TARGET_SIGNAL_0;
|
ecs->event_thread->stop_signal = TARGET_SIGNAL_0;
|
||||||
|
|
||||||
|
discard_cleanups (old_cleanups);
|
||||||
resume (currently_stepping (ecs->event_thread),
|
resume (currently_stepping (ecs->event_thread),
|
||||||
ecs->event_thread->stop_signal);
|
ecs->event_thread->stop_signal);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user