aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/src/locale.cc4
2 files changed, 6 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0565f37..f80ab5b 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-13 Loren J. Rittle <ljrittle@acm.org>
+
+ libstdc++/7445
+ * src/locale.cc (std::locale::classic()): Weaken locking protocol.
+
2002-11-13 Jonathan Wakely <redi@gcc.gnu.org>
* docs/html/install.html, docs/html/22_locale/locale.html: HTML fix.
diff --git a/libstdc++-v3/src/locale.cc b/libstdc++-v3/src/locale.cc
index 127197d..46fab28 100644
--- a/libstdc++-v3/src/locale.cc
+++ b/libstdc++-v3/src/locale.cc
@@ -367,9 +367,7 @@ namespace std
const locale&
locale::classic()
{
- static _STL_mutex_lock __lock __STL_MUTEX_INITIALIZER;
- _STL_auto_lock __auto(__lock);
-
+ // Locking protocol: singleton-called-before-threading-starts
if (!_S_classic)
{
try