From 49cd593e185c9d342dd9a4ca9d5ccdbb15e1b067 Mon Sep 17 00:00:00 2001 From: ljrittle Date: Tue, 6 May 2003 19:31:39 +0000 Subject: [PATCH] And retweak. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66530 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 3 +++ libstdc++-v3/include/ext/stl_rope.h | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 63269907d0f..9ca9ce1a0eb 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,6 +1,9 @@ 2003-05-06 Michael Ritzert + Matt Kraai * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak. + And retweak. + 2003-05-06 Richard Sandiford * configure.target (mips*): Use the generic atomicity.h by default. diff --git a/libstdc++-v3/include/ext/stl_rope.h b/libstdc++-v3/include/ext/stl_rope.h index 8099b270060..c8ada9ca766 100644 --- a/libstdc++-v3/include/ext/stl_rope.h +++ b/libstdc++-v3/include/ext/stl_rope.h @@ -500,7 +500,11 @@ struct _Rope_RopeRep : public _Rope_rep_base<_CharT,_Alloc> # endif _M_tag(__t), _M_is_balanced(__b), _M_depth(__d), _M_c_string(0) #ifdef __GTHREAD_MUTEX_INIT - { _M_c_string_lock = __GTHREAD_MUTEX_INIT; } + { + // Do not copy a POSIX/gthr mutex once in use. However, bits are bits. + __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT; + _M_c_string_lock = __tmp; + } #else { __GTHREAD_MUTEX_INIT_FUNCTION (&_M_c_string_lock); } #endif -- 2.11.0