aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Ritzert <Ritzert@t-online.de>2003-05-06 19:31:39 +0000
committerLoren J. Rittle <ljrittle@gcc.gnu.org>2003-05-06 19:31:39 +0000
commitb7c4cd53ab4c40e84073511a84669680e916554e (patch)
tree3aff7bd044e179b58a0771ec530870650482aaaf
parent8b6891963bc53520c4a1751a1e175c5c37eee441 (diff)
downloadgcc-b7c4cd53ab4c40e84073511a84669680e916554e.zip
gcc-b7c4cd53ab4c40e84073511a84669680e916554e.tar.gz
gcc-b7c4cd53ab4c40e84073511a84669680e916554e.tar.bz2
And retweak.
Co-Authored-By: Matt Kraai <kraai@alumni.cmu.edu> From-SVN: r66530
-rw-r--r--libstdc++-v3/ChangeLog3
-rw-r--r--libstdc++-v3/include/ext/stl_rope.h6
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