diff options
author | Alan Modra <amodra@gmail.com> | 2011-11-30 15:14:13 +1030 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2011-11-30 15:14:13 +1030 |
commit | ab6dd406ba58df404717fa956605ad8ef3907e3a (patch) | |
tree | e4a5194d50d93bce1bed4e9d8b3ca217c3d12b9e /libgomp/task.c | |
parent | b40c885f183cb7d0b0970494220370699f93c2ae (diff) | |
download | gcc-ab6dd406ba58df404717fa956605ad8ef3907e3a.tar.gz |
re PR libgomp/51298 (libgomp team_barrier locking failures)
PR libgomp/51298
* config/linux/bar.h: Use atomic rather than sync builtins.
* config/linux/bar.c: Likewise. Add missing acquire
synchronisation on generation field.
* task.c (gomp_barrier_handle_tasks): Regain lock so as to not
double unlock.
From-SVN: r181833
Diffstat (limited to 'libgomp/task.c')
-rw-r--r-- | libgomp/task.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libgomp/task.c b/libgomp/task.c index b93f77a3816..d3d72663f35 100644 --- a/libgomp/task.c +++ b/libgomp/task.c @@ -273,6 +273,7 @@ gomp_barrier_handle_tasks (gomp_barrier_state_t state) gomp_team_barrier_done (&team->barrier, state); gomp_mutex_unlock (&team->task_lock); gomp_team_barrier_wake (&team->barrier, 0); + gomp_mutex_lock (&team->task_lock); } } } |