diff options
author | Loren J. Rittle <ljrittle@acm.org> | 2004-01-07 17:40:45 +0000 |
---|---|---|
committer | Loren J. Rittle <ljrittle@gcc.gnu.org> | 2004-01-07 17:40:45 +0000 |
commit | 677e7ddceed691a4453804e97bb9733e53d4ea4d (patch) | |
tree | ac99b727fda2c48a1c2fd0c89c051048b349e8c7 | |
parent | d8f5bd5016ed9acb54fe3680c7a0c82e3f6c5fc1 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/src/locale_init.cc | 6 |
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 |