diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 481d18a3217..d368b2dfc1a 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-09-16 Tom de Vries + + * lib/gdbserver-support.exp (gdbserver_exit): Make sure we + get the gdb prompt after issuing "monitor exit". + 2020-09-16 Tom de Vries PR testsuite/26624 diff --git a/gdb/testsuite/lib/gdbserver-support.exp b/gdb/testsuite/lib/gdbserver-support.exp index a2cc80f28d7..2734ca6c878 100644 --- a/gdb/testsuite/lib/gdbserver-support.exp +++ b/gdb/testsuite/lib/gdbserver-support.exp @@ -451,13 +451,20 @@ proc gdbserver_exit { is_mi } { # We use expect rather than gdb_expect because # we want to suppress printing exception messages, otherwise, # remote_expect, invoked by gdb_expect, prints the exceptions. + set have_prompt 0 expect { -i "$gdb_spawn_id" -re "$gdb_prompt $" { - exp_continue + set have_prompt 1 + if { [info exists server_spawn_id] } { + exp_continue + } } -i "$server_spawn_id" eof { wait -i $expect_out(spawn_id) unset server_spawn_id + if { ! $have_prompt } { + exp_continue + } } timeout { warning "Timed out waiting for EOF in server after $monitor_exit"