This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v7] Events when inferior is modified
- From: Doug Evans <dje at google dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: Nick Bull <nicholaspbull at gmail dot com>, gdb-patches <gdb-patches at sourceware dot org>
- Date: Thu, 6 Nov 2014 10:19:27 -0800
- Subject: Re: [PATCH v7] Events when inferior is modified
- Authentication-results: sourceware.org; auth=none
- References: <5419C597 dot 4000300 at gmail dot com> <542C3F4D dot 70104 at redhat dot com> <5441432B dot 5040103 at gmail dot com> <21569 dot 29405 dot 219428 dot 940000 at ruffy dot mtv dot corp dot google dot com> <544A6CB6 dot 4080500 at redhat dot com>
On Fri, Oct 24, 2014 at 8:13 AM, Pedro Alves <palves@redhat.com> wrote:
> On 10/17/2014 08:49 PM, Doug Evans wrote:
>> Alas our use of thread ids is a bit, umm, confusing
>> (in more ways than one! :-().
>> Here, it's not guaranteed that ptid.lwp has something useful,
>> and it may be that the target uses ptid.tid instead.
>>
>> See python/py-infthread.c:thpy_get_ptid.
>> I think we should make that non-static and use that here.
>> IOW, pass the whole ptid_t to the event.
>
> How about using GDB's own unique thread number instead of
> the ptid? Doesn't seem to be any reason to expose
> target-side details or identifiers here?
Yeah, I thought of that.
We already expose ptids.
Plus one can look at them as just an id: something you receive, pass
around, and print.
But I don't have a strong preference, other than consistency.
Whatever we pick we need to use it for everything (barring compelling
reasons to do otherwise).
Setting aside concerns of exposing target details,
are there other technical reasons to prefer one over the other?
Here's a question that comes to mind.
Internally we use ptids and not thread numbers.
Do any of the reasons for doing so carry over to the Python API?
[While IWBN if internal and external APIs used the same id everywhere,
I'm more concerned with more technical details of picking one over the
other. E.g., Thread IDs are more transient, they get recycled more
often, but technically ptids can get recycled too.]