This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] gdbserver, check for success on start_inferior
> On Thu, Jul 19, 2007 at 05:03:16PM -0700, Michael Snyder wrote:
>>
>> signal_pid = create_inferior (argv[0], argv);
>>
>> + /* FIXME: we don't actually know at this point that the create
>> + actually succeeded. We won't know that until we wait. I'm not
>> + sure how wait and all this SIGTTOU stuff play together. */
>> fprintf (stderr, "Process %s created; pid = %ld\n", argv[0],
>> signal_pid);
>> fflush (stderr);
>
> Please don't add comments saying you don't understand things :-) They
> don't add value. If you have questions about the job control stuff,
> ask me about it sometime.
Sure they do. It's a fixme, that means it waits for someone to
fix it. But I'll remove the last sentence.
Consider this a commit notice - I'll get to it in a few minutes.
Thanks a lot for your review.
>
> If you want to fix up the message for failure cases, we could delay it
> until after waiting.
>
>> *************** main (int argc, char *argv[])
>> *** 899,905 ****
>> /* Wait till we are at first instruction in program. */
>> signal = start_inferior (&argv[2], &status);
>>
>> ! /* We are now stopped at the first instruction of the target
>> process */
>>
>> /* Don't report shared library events on the initial connection,
>> even if some libraries are preloaded. */
>> --- 903,911 ----
>> /* Wait till we are at first instruction in program. */
>> signal = start_inferior (&argv[2], &status);
>>
>> ! /* We are now (hopefully) stopped at the first instruction of
>> ! the target process. This assumes that the target process was
>> ! successfully created. */
>>
>> /* Don't report shared library events on the initial connection,
>> even if some libraries are preloaded. */
>> *************** main (int argc, char *argv[])
>> *** 925,930 ****
>> --- 931,942 ----
>> exit (1);
>> }
>>
>> + if (status == 'W' || status == 'X')
>> + {
>> + fprintf (stderr, "No inferior, GDBserver exiting.\n");
>> + exit (1);
>> + }
>> +
>> while (1)
>> {
>> remote_open (argv[1]);
>
> These parts are OK though.
>
> --
> Daniel Jacobowitz
> CodeSourcery
>
>