This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 0/3] Per-inferior thread list, multi-target prep
- From: Pedro Alves <palves at redhat dot com>
- To: GDB Patches <gdb-patches at sourceware dot org>
- Date: Thu, 22 Nov 2018 16:27:58 +0000
- Subject: Re: [PATCH 0/3] Per-inferior thread list, multi-target prep
- References: <20181001103252.5150-1-palves@redhat.com>
On 10/01/2018 11:32 AM, Pedro Alves wrote:
> Here's another chunk split out from my multi-target branch (on
> github). (It's the chunk that I mentioned would be next at the
> Cauldron's multi-core BoF.)
>
> Patch #3 is the real deal. See its commit log for the full
> description, but the gist is that it makes each inferior have its own
> thread list, and replaces the ALL_THREADS / ALL_NON_EXITED_THREADS /
> ALL_INFERIORS macros with (C++20-like) ranges and iterators, such that
> you can instead naturaly iterate over threads/inferiors using
> range-for, like e.g,.:
>
> // all threads, including THREAD_EXITED threads.
> for (thread_info *tp : all_threads ())
> { .... }
>
> // all non-exited threads.
> for (thread_info *tp : all_non_exited_threads ())
> { .... }
>
> // all non-exited threads of INF inferior.
> for (thread_info *tp : inf->non_exited_threads ())
> { .... }
>
> Patches #1 and #2 fix latent problems exposed by patch #3.
>
> Pedro Alves (3):
> Avoid find_thread_ptid with null_ptid
> Fix follow_exec latent problem
> Per-inferior thread list, thread ranges/iterators, down with
> ALL_THREADS, etc.
I've finally merged this to master.
Thanks,
Pedro Alves