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.  */
> 

Reply via email to