]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR libstdc++/12658 (Thread safety problems in locale::global() and locale::locale())
authorBenjamin Kosnik <bkoz@redhat.com>
Sun, 7 Mar 2004 01:32:43 +0000 (01:32 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Sun, 7 Mar 2004 01:32:43 +0000 (01:32 +0000)
commitf83295bafc73a70666d5d67e05918b0e6882402c
treef71f116f1f9678557e7764415bf032ec269eadcf
parent018e1b3b0b15655000518abaeca2c86c8fadf8a6
re PR libstdc++/12658 (Thread safety problems in locale::global() and locale::locale())

2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/12658
* src/locale_init.cc (locale::locale): Lock critical regions with
external mutexes.
(locale::global): Same.
* include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
Add in once bits for cases without __GTHREAD_MUTEX_INIT.
(__glibcxx_mutex_lock): Same.

* config/cpu/generic/atomicity.h: Remove
_GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
* src/misc-inst.cc: Move all locking bits out of this file.

* config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
* src/misc-inst.cc: Same.
* config/cpu/hppa/atomicity.h: Same.

* config/linker-map.gnu: Remove types in the signature of atomic
exports, as they may vary.

From-SVN: r79043
libstdc++-v3/ChangeLog
libstdc++-v3/config/cpu/generic/atomicity.h
libstdc++-v3/config/cpu/hppa/atomicity.h
libstdc++-v3/config/linker-map.gnu
libstdc++-v3/config/os/hpux/os_defines.h
libstdc++-v3/include/bits/concurrence.h
libstdc++-v3/include/ext/mt_allocator.h
libstdc++-v3/src/locale_init.cc
libstdc++-v3/src/misc-inst.cc