forked from Imagelibrary/binutils-gdb
cleanup fixes for inf-ptrace.c
This is one of the stylistic patches. The code here in inf-ptrace.c is not incorrect, but it is in a style that the cleanup checker cannot handle. This patch changes it to a simpler style, following the usual method of introducing an unconditional "outer" cleanup. * inf-ptrace.c (inf_ptrace_create_inferior): Unconditionally call discard_cleanups. (inf_ptrace_attach): Likewise.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2013-05-30 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* inf-ptrace.c (inf_ptrace_create_inferior): Unconditionally
|
||||
call discard_cleanups.
|
||||
(inf_ptrace_attach): Likewise.
|
||||
|
||||
2013-05-30 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* remote-mips.c (mips_exit_debug): Call do_cleanups on all
|
||||
|
||||
@@ -122,20 +122,19 @@ inf_ptrace_create_inferior (struct target_ops *ops,
|
||||
/* Do not change either targets above or the same target if already present.
|
||||
The reason is the target stack is shared across multiple inferiors. */
|
||||
int ops_already_pushed = target_is_pushed (ops);
|
||||
struct cleanup *back_to = NULL;
|
||||
struct cleanup *back_to = make_cleanup (null_cleanup, NULL);
|
||||
|
||||
if (! ops_already_pushed)
|
||||
{
|
||||
/* Clear possible core file with its process_stratum. */
|
||||
push_target (ops);
|
||||
back_to = make_cleanup_unpush_target (ops);
|
||||
make_cleanup_unpush_target (ops);
|
||||
}
|
||||
|
||||
pid = fork_inferior (exec_file, allargs, env, inf_ptrace_me, NULL,
|
||||
NULL, NULL, NULL);
|
||||
|
||||
if (! ops_already_pushed)
|
||||
discard_cleanups (back_to);
|
||||
discard_cleanups (back_to);
|
||||
|
||||
/* START_INFERIOR_TRAPS_EXPECTED is defined in inferior.h, and will
|
||||
be 1 or 2 depending on whether we're starting without or with a
|
||||
@@ -196,7 +195,7 @@ inf_ptrace_attach (struct target_ops *ops, char *args, int from_tty)
|
||||
/* Do not change either targets above or the same target if already present.
|
||||
The reason is the target stack is shared across multiple inferiors. */
|
||||
int ops_already_pushed = target_is_pushed (ops);
|
||||
struct cleanup *back_to = NULL;
|
||||
struct cleanup *back_to = make_cleanup (null_cleanup, NULL);
|
||||
|
||||
pid = parse_pid_to_attach (args);
|
||||
|
||||
@@ -208,7 +207,7 @@ inf_ptrace_attach (struct target_ops *ops, char *args, int from_tty)
|
||||
/* target_pid_to_str already uses the target. Also clear possible core
|
||||
file with its process_stratum. */
|
||||
push_target (ops);
|
||||
back_to = make_cleanup_unpush_target (ops);
|
||||
make_cleanup_unpush_target (ops);
|
||||
}
|
||||
|
||||
if (from_tty)
|
||||
@@ -243,8 +242,7 @@ inf_ptrace_attach (struct target_ops *ops, char *args, int from_tty)
|
||||
target, it should decorate the ptid later with more info. */
|
||||
add_thread_silent (inferior_ptid);
|
||||
|
||||
if (! ops_already_pushed)
|
||||
discard_cleanups (back_to);
|
||||
discard_cleanups (back_to);
|
||||
}
|
||||
|
||||
#ifdef PT_GET_PROCESS_STATE
|
||||
|
||||
Reference in New Issue
Block a user