This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 0/3] Per-inferior thread list, multi-target prep


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]