summaryrefslogtreecommitdiff
path: root/gdb/inf-loop.c
diff options
context:
space:
mode:
authorPedro Alves <pedro@codesourcery.com>2008-04-17 11:49:56 +0000
committerPedro Alves <pedro@codesourcery.com>2008-04-17 11:49:56 +0000
commit1f5e03f9c0966bea221d459fe7c03a7bf65dbec1 (patch)
tree54978d6030000bdb62329eb749f3b21d19426e3d /gdb/inf-loop.c
parent3b70af3a63cd1d7393ef2c1406bd9524190041a9 (diff)
downloadgdb-1f5e03f9c0966bea221d459fe7c03a7bf65dbec1.tar.gz
gdb/
* inf-loop.c (inferior_event_handler): Also run the intermediate continuations in the INF_EXEC_COMPLETE case. gdb/testsuite/ * gdb.base/step-break.exp, gdb.base/step-break.c: New files.
Diffstat (limited to 'gdb/inf-loop.c')
-rw-r--r--gdb/inf-loop.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/inf-loop.c b/gdb/inf-loop.c
index cfb80d5deab..9519c79fc67 100644
--- a/gdb/inf-loop.c
+++ b/gdb/inf-loop.c
@@ -91,6 +91,12 @@ inferior_event_handler (enum inferior_event_type event_type,
was_sync = sync_execution;
async_enable_stdin ();
+ /* 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
+ distinguishing the cases. */
+ do_all_intermediate_continuations ();
+
do_all_continuations ();
if (current_language != expected_language)