Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Simon Marchi <simon.marchi@ericsson.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [PATCH 2/2] doc: Improve documentation about MI thread output
Date: Wed, 12 Apr 2017 20:10:00 -0000	[thread overview]
Message-ID: <f0988689-6be8-18ad-cd66-886c337b4bc1@ericsson.com> (raw)
In-Reply-To: <83tw5tifpq.fsf@gnu.org>

On 17-04-12 03:33 PM, Eli Zaretskii wrote:
>> From: Simon Marchi <simon.marchi@ericsson.com>
>> Date: Wed, 12 Apr 2017 15:26:08 -0400
>>
>>>> +there is a selected thread and no @var{thread-id} argument was passed to the
>>>
>>> How can there not be a selected thread?
>>
>> When the currently selected inferior is not running.  The obvious case is the initial
>> state of gdb.  But it's also possible to have threads but none is selected, for example
>> when you add a second inferior and switch to it, while the first inferior is running.
>>
>> The field is output if inferior_ptid != null_ptid, so maybe there are other situations
>> I am not aware of where there isn't a current thread.
> 
> I think we need to describe at least the most "popular" situations
> where this happens.  The initial state of GDB is not an interesting
> case, but others are.  In particular, IMO it would be good to state
> that when there's only one inferior being debugged that has been run
> already, there will always be a selected thread.

I agree that we could give an example of situation where there _isn't_
a selected thread.  Readers may, like you did, find that it's an odd
claim and wonder how it's possible that there isn't a selected thread.
But I don't think it's useful (and maybe even counterproductive) to try
to define some situation where the field will always be present.

The important thing that users of this API need to know is that the field
may not be there.  This will encourage them to program defensively and check
whether the field is present before trying to use it.  If we try to define a
green zone where the field is supposedly always be present, it will incite some
people to skip the check, which will potentially come back and bite them if the
behavior of GDB changes or there's a situation we haven't thought of where it
can happen.

Simon



  reply	other threads:[~2017-04-12 20:10 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-12 18:06 [PATCH 1/2] Remove dead code and "current" field from MI thread output doc Simon Marchi
2017-04-12 18:07 ` [PATCH 2/2] doc: Improve documentation about MI thread output Simon Marchi
2017-04-12 18:17   ` Simon Marchi
2017-04-12 19:18   ` Eli Zaretskii
2017-04-12 19:26     ` Simon Marchi
2017-04-12 19:32       ` Eli Zaretskii
2017-04-12 20:10         ` Simon Marchi [this message]
2017-04-12 20:34           ` Eli Zaretskii
2017-04-12 21:13             ` Simon Marchi
2017-04-13  6:02               ` Eli Zaretskii
2017-04-22  1:57                 ` Simon Marchi
2017-04-12 19:14 ` [PATCH 1/2] Remove dead code and "current" field from MI thread output doc Eli Zaretskii

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=f0988689-6be8-18ad-cd66-886c337b4bc1@ericsson.com \
    --to=simon.marchi@ericsson.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    /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