Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Yao Qi <yao@codesourcery.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 3/4] New agent command 'kill' and used by gdbserver
Date: Fri, 15 Jun 2012 19:25:00 -0000	[thread overview]
Message-ID: <4FDB8BF0.4050502@redhat.com> (raw)
In-Reply-To: <201206142250.01331.yao@codesourcery.com>

On 06/14/2012 03:50 PM, Yao Qi wrote:

> On Wednesday 13 June 2012 00:14:19 Pedro Alves wrote:
>>> > > +  run_inferior_command ("kill", strlen ("kill"));
>> > 
>> > - Missing space before parens.
>> > 
>> > - What happens if there's no IPA to talk to?
>> > 
>> > - Also, all callers of run_inferior_command command currently
>> >   pass "cmd, strlen (cmd) + 1".
>> > 
>> > - The kill_inferior function takes a PID as argument.  It's not
>> >   right to assume that PID is the current process.  IOW, in a
>> >   multi-process scenario, you may well run the inferior command
>> >   on the wrong inferior as is.
> This new patch addresses all your comments except this one above.  IMO, the
>  whole agent work in GDBserver doesn't consider much about multi-process, so
>  this problem shall be addressed as a whole, when we start to support agent in
>  multi-process.  I leave a FIXME in comment there.  WDYT?


I'd really rather see that fixed now.  Even with single process,
you may get here without a selected inferior at all.  We just need
to lookup a thread of PID, and select it as current_inferior for the
duration of run_inferior_command, I think?  (wrapped with the
save_inferior dance).

> +int
> +kill_inferior (int pid)
> +{


> +  char buf[IPA_CMD_BUF_SIZE];
> +
> +  if (!maybe_write_ipa_not_loaded (buf))
> +    {
> +      strcpy (buf, "close");
> +      /* FIXME: It is wrong to assume PID is the current process.  In
> +	 a multiple-process scenario, we may run inferior command on
> +	 the wrong process.  */
> +      run_inferior_command (buf, strlen (buf) + 1);
> +    }


I'd rather have this whole block be factored out to a function
in tracepoint.c (tracepoint_about_to_kill for example).  More so
with a fix to set current_inferior around run_inferior_command.
Then we wouldn't have to export details of the IPA, such as
maybe_write_ipa_not_loaded or run_inferior_command.

-- 
Pedro Alves


  parent reply	other threads:[~2012-06-15 19:25 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-09 12:47 [PATCH 0/4] PR14161: a partial fix Yao Qi
2012-06-09 12:47 ` [PATCH 2/4] Remove socket file at exit Yao Qi
2012-06-12 15:14   ` Pedro Alves
2012-06-14 14:44     ` Yao Qi
2012-06-15 19:02       ` Pedro Alves
2012-06-09 12:47 ` [PATCH 1/4] New test for removing socket file in gdb.trace/strace.exp Yao Qi
2012-06-12 14:51   ` Pedro Alves
2012-06-14 14:39     ` Yao Qi
2012-06-15 19:00       ` Pedro Alves
2012-06-20 13:46         ` Yao Qi
2012-06-21 15:56           ` Pedro Alves
2012-06-27  3:55             ` Yao Qi
2012-06-09 12:47 ` [PATCH 3/4] New agent command 'kill' and used by gdbserver Yao Qi
2012-06-09 13:11   ` Eli Zaretskii
2012-06-12 16:14   ` Pedro Alves
2012-06-14 14:50     ` Yao Qi
2012-06-14 16:37       ` Eli Zaretskii
2012-06-15 19:25       ` Pedro Alves [this message]
2012-06-20 13:49         ` Yao Qi
2012-06-21 16:05           ` Pedro Alves
2012-06-09 12:47 ` [PATCH 4/4] gdb: kfail for PR14161 Yao Qi
2012-06-12 16:21   ` Pedro Alves
2012-06-14 15:01     ` Yao Qi
2012-06-15 19:33       ` Pedro Alves
2012-06-20 13:55         ` Yao Qi
2012-07-27  8:19 ` [committed] : [PATCH 0/4] PR14161: a partial fix Yao Qi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FDB8BF0.4050502@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=yao@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox