Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Simon Marchi <simon.marchi@ericsson.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH 2/3] gdbserver: Remove gdb_id_to_thread_id
Date: Fri, 15 Sep 2017 10:55:00 -0000	[thread overview]
Message-ID: <c66183b6-dc70-4312-61fa-909b07791ba4@redhat.com> (raw)
In-Reply-To: <1505074275-1662-3-git-send-email-simon.marchi@ericsson.com>

On 09/10/2017 09:11 PM, Simon Marchi wrote:
> From what I understand, this function is not doing anything useful as of
> today.
> 
> Here's the result of my archeological research:
> 

*nod*

> --- a/gdb/gdbserver/server.c
> +++ b/gdb/gdbserver/server.c
> @@ -4011,7 +4011,6 @@ process_serial_event (void)
>    unsigned int len;
>    int res;
>    CORE_ADDR mem_addr;
> -  int pid;
>    unsigned char sig;
>    int packet_len;
>    int new_packet_len = -1;
> @@ -4039,92 +4038,96 @@ process_serial_event (void)
>        handle_general_set (own_buf);
>        break;
>      case 'D':
> -      require_running (own_buf);
> +      {
> +	require_running (own_buf);
>  

The reindentation makes it hard to see the actual
change.  Is it just moving the int pid variable, or something else?
IMO, it'd be nicer to move the whole case 'D' body to a
handle_detach function.


>      case '!':
>        extended_protocol = 1;
>        write_ok (own_buf);
> @@ -4135,23 +4138,18 @@ process_serial_event (void)
>      case 'H':
>        if (own_buf[1] == 'c' || own_buf[1] == 'g' || own_buf[1] == 's')
>  	{
> -	  ptid_t gdb_id, thread_id;
> -	  int pid;
> +	  ptid_t thread_id;
>  
>  	  require_running (own_buf);
>  
> -	  gdb_id = read_ptid (&own_buf[2], NULL);
> -
> -	  pid = ptid_get_pid (gdb_id);
> +	  thread_id = read_ptid (&own_buf[2], NULL);

Move ptid_t declaration here? :

          ptid_t thread_id = read_ptid (&own_buf[2], NULL);

>  
> -	  if (ptid_equal (gdb_id, null_ptid)
> -	      || ptid_equal (gdb_id, minus_one_ptid))
> +	  if (thread_id == null_ptid || thread_id == minus_one_ptid)
>  	    thread_id = null_ptid;

This can be just:

	  if (thread_id == minus_one_ptid)
 	    thread_id = null_ptid;



> -	  else if (pid != 0
> -		   && ptid_equal (pid_to_ptid (pid),
> -				  gdb_id))
> +	  else if (thread_id.is_pid ())
>  	    {
> -	      thread_info *thread = find_any_thread_of_pid (pid);
> +	      /* The ptid represents a pid.  */
> +	      thread_info *thread = find_any_thread_of_pid (thread_id.pid ());
>  
>  	      if (thread == NULL)
>  		{
> @@ -4163,8 +4161,8 @@ process_serial_event (void)
>  	    }
>  	  else
>  	    {
> -	      thread_id = gdb_id_to_thread_id (gdb_id);
> -	      if (ptid_equal (thread_id, null_ptid))
> +	      /* The ptid represents a lwp/tid.  */
> +	      if (find_thread_ptid (thread_id) == NULL)
>  		{
>  		  write_enn (own_buf);
>  		  break;
> @@ -4369,13 +4367,12 @@ process_serial_event (void)
>  
>      case 'T':
>        {
> -	ptid_t gdb_id, thread_id;
> +	ptid_t thread_id;
>  
>  	require_running (own_buf);
>  
> -	gdb_id = read_ptid (&own_buf[1], NULL);
> -	thread_id = gdb_id_to_thread_id (gdb_id);
> -	if (ptid_equal (thread_id, null_ptid))
> +	thread_id = read_ptid (&own_buf[1], NULL);

ptid_t thread_id = ...   ?

> +	if (find_thread_ptid (thread_id) == NULL)
>  	  {
>  	    write_enn (own_buf);
>  	    break;
> 

Thanks,
Pedro Alves


  reply	other threads:[~2017-09-15 10:55 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-10 20:11 [PATCH 0/3] Small cleanups in gdbserver Simon Marchi
2017-09-10 20:11 ` [PATCH 1/3] gdbserver: Remove duplicate functions to find any thread of process Simon Marchi
2017-09-15  4:09   ` Sergio Durigan Junior
2017-09-15 12:53     ` Simon Marchi
2017-09-10 20:11 ` [PATCH 2/3] gdbserver: Remove gdb_id_to_thread_id Simon Marchi
2017-09-15 10:55   ` Pedro Alves [this message]
2017-09-15 13:07     ` Simon Marchi
2017-09-15 13:34       ` Simon Marchi
2017-09-15 13:44     ` Simon Marchi
2017-09-10 20:11 ` [PATCH 3/3] gdbserver: Remove thread_to_gdb_id Simon Marchi
2017-09-15 11:02   ` Pedro Alves
2017-09-15 13:54     ` Simon Marchi
2017-09-15 14:00       ` Pedro Alves

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=c66183b6-dc70-4312-61fa-909b07791ba4@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=simon.marchi@ericsson.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