diff options
| -rw-r--r-- | libstdc++-v3/ChangeLog | 3 | ||||
| -rw-r--r-- | libstdc++-v3/include/ext/stl_rope.h | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6326990..9ca9ce1 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,6 +1,9 @@ 2003-05-06 Michael Ritzert <Ritzert@t-online.de> + Matt Kraai <kraai@alumni.cmu.edu> * include/ext/stl_rope.h (_Rope_RopeRep<>::_M_c_string_lock): Tweak. + And retweak. + 2003-05-06 Richard Sandiford <rsandifo@redhat.com> * 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 8099b27..c8ada9c 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 |
