diff options
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r-- | gdb/infcmd.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c index 4948d27..5cd8dd7 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -2617,9 +2617,6 @@ attach_command (char *args, int from_tty) shouldn't refer to attach_target again. */ attach_target = NULL; - /* Done with ARGS. */ - do_cleanups (args_chain); - /* Set up the "saved terminal modes" of the inferior based on what modes we are starting it with. */ target_terminal_init (); @@ -2684,12 +2681,19 @@ attach_command (char *args, int from_tty) a->async_exec = async_exec; add_inferior_continuation (attach_command_continuation, a, attach_command_continuation_free_args); + + /* Done with ARGS. */ + do_cleanups (args_chain); + return; } wait_for_inferior (); } + /* Done with ARGS. */ + do_cleanups (args_chain); + attach_command_post_wait (args, from_tty, async_exec); } |