From b7516041a1e540b8db3c76ef4df192404d5daafd Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Thu, 2 Dec 2010 15:30:37 +0100
Subject: [PATCH] re PR libgomp/45240 (parallel.c: GOMP_parallel_end locks a
 mutex but fails to unlock it after atomic operation complete)

	PR libgomp/45240
	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
	at the end if sync builtins aren't supported.

From-SVN: r167370
---
 libgomp/ChangeLog  | 6 ++++++
 libgomp/parallel.c | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 0318e388ec21..7064d6697916 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,9 @@
+2010-12-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR libgomp/45240
+	* parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
+	at the end if sync builtins aren't supported.
+
 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 	* configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
diff --git a/libgomp/parallel.c b/libgomp/parallel.c
index d83d1698fd5d..c0966df9f9a5 100644
--- a/libgomp/parallel.c
+++ b/libgomp/parallel.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
    Contributed by Richard Henderson <rth@redhat.com>.
 
    This file is part of the GNU OpenMP Library (libgomp).
@@ -123,6 +123,7 @@ GOMP_parallel_end (void)
 #else
 	  gomp_mutex_lock (&gomp_remaining_threads_lock);
 	  gomp_remaining_threads_count -= team->nthreads - 1;
+	  gomp_mutex_unlock (&gomp_remaining_threads_lock);
 #endif
 	}
     }
-- 
GitLab