mirror of git://gcc.gnu.org/git/gcc.git
re PR libgomp/55411 (OMP threads lose their OMP_WAIT_POLICY when another OMP thread gets destructed)
PR libgomp/55411 * team.c (gomp_free_thread): Decrease gomp_managed_threads if pool had any threads_used. From-SVN: r193706
This commit is contained in:
parent
b4b401d23c
commit
4c5ba8d0db
|
|
@ -1,3 +1,9 @@
|
||||||
|
2012-11-21 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR libgomp/55411
|
||||||
|
* team.c (gomp_free_thread): Decrease gomp_managed_threads
|
||||||
|
if pool had any threads_used.
|
||||||
|
|
||||||
2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
|
2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
|
||||||
|
|
||||||
* testsuite/libgomp.c++/pr24455.C: Use
|
* testsuite/libgomp.c++/pr24455.C: Use
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011
|
/* Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011, 2012
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
Contributed by Richard Henderson <rth@redhat.com>.
|
Contributed by Richard Henderson <rth@redhat.com>.
|
||||||
|
|
||||||
|
|
@ -232,6 +232,15 @@ gomp_free_thread (void *arg __attribute__((unused)))
|
||||||
gomp_barrier_wait (&pool->threads_dock);
|
gomp_barrier_wait (&pool->threads_dock);
|
||||||
/* Now it is safe to destroy the barrier and free the pool. */
|
/* Now it is safe to destroy the barrier and free the pool. */
|
||||||
gomp_barrier_destroy (&pool->threads_dock);
|
gomp_barrier_destroy (&pool->threads_dock);
|
||||||
|
|
||||||
|
#ifdef HAVE_SYNC_BUILTINS
|
||||||
|
__sync_fetch_and_add (&gomp_managed_threads,
|
||||||
|
1L - pool->threads_used);
|
||||||
|
#else
|
||||||
|
gomp_mutex_lock (&gomp_remaining_threads_lock);
|
||||||
|
gomp_managed_threads -= pool->threads_used - 1L;
|
||||||
|
gomp_mutex_unlock (&gomp_remaining_threads_lock);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
free (pool->threads);
|
free (pool->threads);
|
||||||
if (pool->last_team)
|
if (pool->last_team)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue