[5/8] Refactor start_inferior
Commit Message
This patch is to refactor function start_inferior that signal_pid
is returned in one place.
gdb/gdbserver:
2015-07-16 Yao Qi <yao.qi@linaro.org>
* server.c (start_inferior): Code refactor.
---
gdb/gdbserver/server.c | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
Comments
On 07/20/2015 12:35 PM, Yao Qi wrote:
> This patch is to refactor function start_inferior that signal_pid
> is returned in one place.
>
LGTM.
> gdb/gdbserver:
>
> 2015-07-16 Yao Qi <yao.qi@linaro.org>
>
> * server.c (start_inferior): Code refactor.
Thanks,
Pedro Alves
@@ -257,22 +257,21 @@ start_inferior (char **argv)
last_ptid = mywait (pid_to_ptid (signal_pid), &last_status, 0, 0);
- if (last_status.kind != TARGET_WAITKIND_STOPPED)
- return signal_pid;
-
- do
+ if (last_status.kind == TARGET_WAITKIND_STOPPED)
{
- (*the_target->resume) (&resume_info, 1);
+ do
+ {
+ (*the_target->resume) (&resume_info, 1);
- last_ptid = mywait (pid_to_ptid (signal_pid), &last_status, 0, 0);
- if (last_status.kind != TARGET_WAITKIND_STOPPED)
- return signal_pid;
+ last_ptid = mywait (pid_to_ptid (signal_pid), &last_status, 0, 0);
+ if (last_status.kind != TARGET_WAITKIND_STOPPED)
+ break;
- current_thread->last_resume_kind = resume_stop;
- current_thread->last_status = last_status;
+ current_thread->last_resume_kind = resume_stop;
+ current_thread->last_status = last_status;
+ }
+ while (last_status.value.sig != GDB_SIGNAL_TRAP);
}
- while (last_status.value.sig != GDB_SIGNAL_TRAP);
-
return signal_pid;
}