Re: [PATCH] Fix usage of inferior_ptid in two thread_alive implementations

Simon Marchi
2017-02-22T21:06:55Z

On 2017-02-09 15:46, Eli Zaretskii wrote:
>> Cc: Simon Marchi <simon.marchi@ericsson.com>,
>> gdb-patches@sourceware.org
>> From: Pedro Alves <palves@redhat.com>
>> Date: Thu, 9 Feb 2017 17:53:16 +0000
>>
>> On 02/09/2017 04:46 PM, Simon Marchi wrote:
>> > On 2017-02-08 07:40, Pedro Alves wrote:
>> >> On 02/07/2017 09:24 PM, Simon Marchi wrote:
>> >>> While inspecting some target code, I noticed that in these two
>> >>> implementations of thread_alive, inferior_ptid is referenced directly
>> >>> instead of using the ptid passed as parameters. I guess that it is
>> >>> wrong, although I can't really test it in both cases.
>> >>
>> >> I can't test either, but it looks right to me.
>> >
>> > Soooo.. is this an approval :) ?
>>
>> OK by the end of the week to give a chance of area
>> maintainers or interested folks to comment. E.g., Eli
>> is the go32-nat.c maintainer and I don't mean to overstep,
>> though that bit does look obvious to me.
>
> Is that function even called in the go32 port?

Why wouldn't it? For example, you could have this pseudo-stack:

#0 go32_thread_alive
#1 target_thread_alive
#2 thread_alive
#3 thread_apply_all_command

If this target doesn't support multiple threads, it's possible that
inferior_ptid will always be equal to ptid (equal to the only existing
thread). But still it would be "more correct" to read the parameter
instead of the global, IMO.

Simon