Ping. On Fri, 22 Feb 2019 18:11:44 -0700 Kevin Buettner <kev...@redhat.com> wrote:
> For debugging purposes, I need to be able to find the master thread > in the thread pool. > > Without this patch, I see over 20 failures in the tests that I've > written for GDB. > > I've also tested this in the gcc tree - no regressions. > > libgomp/ChangeLog: > > * team.c (gomp_team_start): Initialize pool->threads[0]. > --- > libgomp/team.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/libgomp/team.c b/libgomp/team.c > index 2b2e9750da5..e331c9b72c0 100644 > --- a/libgomp/team.c > +++ b/libgomp/team.c > @@ -477,11 +477,17 @@ gomp_team_start (void (*fn) (void *), void *data, > unsigned nthreads, > make no effort to expand gomp_threads_size geometrically. */ > if (nthreads >= pool->threads_size) > { > + bool need_init = (pool->threads == NULL); > pool->threads_size = nthreads + 1; > pool->threads > = gomp_realloc (pool->threads, > pool->threads_size > * sizeof (struct gomp_thread *)); > + if (need_init) > + { > + /* Add current (master) thread to threads[]. */ > + pool->threads[0] = thr; > + } > } > > /* Release existing idle threads. */ >