diff options
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index c0df124..5d60a90 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -4384,7 +4384,11 @@ handle_signal_stop (struct execution_control_state *ecs) ecs->event_thread->step_after_step_resume_breakpoint = 1; /* Reset trap_expected to ensure breakpoints are re-inserted. */ ecs->event_thread->control.trap_expected = 0; - keep_going (ecs); + + /* If we were nexting/stepping some other thread, switch to + it, so that we don't continue it, losing control. */ + if (!switch_back_to_stepped_thread (ecs)) + keep_going (ecs); return; } |