[PATCH 10/40] cleanup fixes for inf-ptrace.c

Tom Tromey
2013-05-09T18:51:07Z

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.
---
gdb/inf-ptrace.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/gdb/inf-ptrace.c b/gdb/inf-ptrace.c
index 27bbf4d..046e0ce 100644
--- a/gdb/inf-ptrace.c
+++ b/gdb/inf-ptrace.c
@@ -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
--
1.8.1.4