aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoren J. Rittle <ljrittle@acm.org>2004-01-07 17:40:45 +0000
committerLoren J. Rittle <ljrittle@gcc.gnu.org>2004-01-07 17:40:45 +0000
commit677e7ddceed691a4453804e97bb9733e53d4ea4d (patch)
treeac99b727fda2c48a1c2fd0c89c051048b349e8c7
parentd8f5bd5016ed9acb54fe3680c7a0c82e3f6c5fc1 (diff)
downloadgcc-677e7ddceed691a4453804e97bb9733e53d4ea4d.zip
gcc-677e7ddceed691a4453804e97bb9733e53d4ea4d.tar.gz
gcc-677e7ddceed691a4453804e97bb9733e53d4ea4d.tar.bz2
(re-open) PR libstdc++/12658
(re-open) PR libstdc++/12658 * src/locale_init.cc (locale::locale): Remove ill-scoped mutex. (locale::global): Likewise. From-SVN: r75509
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/src/locale_init.cc6
2 files changed, 6 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 4fa6859..d98e25b 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2004-01-07 Loren J. Rittle <ljrittle@acm.org>
+
+ (re-open) PR libstdc++/12658
+ * src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
+ (locale::global): Likewise.
+
2004-01-07 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
diff --git a/libstdc++-v3/src/locale_init.cc b/libstdc++-v3/src/locale_init.cc
index 2fd22f6..2eb45c8 100644
--- a/libstdc++-v3/src/locale_init.cc
+++ b/libstdc++-v3/src/locale_init.cc
@@ -97,26 +97,20 @@ namespace std
locale::locale() throw()
{
_S_initialize();
- __glibcxx_mutex_define_initialized(lock);
- __glibcxx_mutex_lock(lock);
_S_global->_M_add_reference();
_M_impl = _S_global;
- __glibcxx_mutex_unlock(lock);
}
locale
locale::global(const locale& __other)
{
_S_initialize();
- __glibcxx_mutex_define_initialized(lock);
- __glibcxx_mutex_lock(lock);
_Impl* __old = _S_global;
__other._M_impl->_M_add_reference();
_S_global = __other._M_impl;
if (_S_global->_M_check_same_name()
&& (std::strcmp(_S_global->_M_names[0], "*") != 0))
setlocale(LC_ALL, __other.name().c_str());
- __glibcxx_mutex_unlock(lock);
// Reference count sanity check: one reference removed for the
// subsition of __other locale, one added by return-by-value. Net