aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoren J. Rittle <ljrittle@acm.org>2002-11-13 14:55:32 +0000
committerLoren J. Rittle <ljrittle@gcc.gnu.org>2002-11-13 14:55:32 +0000
commit2b298bb772718afc5046868d7fcfb99b837dffd4 (patch)
tree4d926bf9c89c6e92e1d025c161c19c1bb27b9dc4
parent70c73a4d1df7540ffdd81d293dc669d603af39c9 (diff)
downloadgcc-2b298bb772718afc5046868d7fcfb99b837dffd4.zip
gcc-2b298bb772718afc5046868d7fcfb99b837dffd4.tar.gz
gcc-2b298bb772718afc5046868d7fcfb99b837dffd4.tar.bz2
locale.cc (std::locale::classic()): Weaken locking protocol.
libstdc++/7445 * src/locale.cc (std::locale::classic()): Weaken locking protocol. From-SVN: r59078
-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