re PR libstdc++/17664 ([3.4 only] Crash in std::map when using _GLIBCXX_DEBUG with...
authorBenjamin Kosnik <bkoz@redhat.com>
Mon, 8 Nov 2004 20:47:25 +0000 (20:47 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Mon, 8 Nov 2004 20:47:25 +0000 (20:47 +0000)
2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
    Doug Gregor  <dgregor@cs.indiana.edu>

PR libstdc++/17664
* src/debug.cc: Just use one mutex.

Co-Authored-By: Doug Gregor <dgregor@cs.indiana.edu>
Co-Authored-By: Lothar Werzinger <lothar@xcerla.com>
From-SVN: r90296

libstdc++-v3/ChangeLog
libstdc++-v3/src/debug.cc

index b415b26..d8740bd 100644 (file)
@@ -1,4 +1,10 @@
 2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
+           Doug Gregor  <dgregor@cs.indiana.edu>
+
+       PR libstdc++/17664
+       * src/debug.cc : Just use one mutex.
+
+2004-11-08  Benjamin Kosnik  <bkoz@redhat.com>
 
        * configure.ac (libtool_VERSION): To 6:4:0.
        * configure: Regenerate.
 2004-11-02  Benjamin Kosnik  <bkoz@redhat.com>
            Lothar Werzinger  <lothar@xcerla.com>
        
-       PR libstdc++/17627
+       PR libstdc++/17664
        * src/debug.cc: Include concurrence, use mutexes.
        (_Safe_iterator_base::_M_attach): Here. 
        (_Safe_iterator_base::_M_detach): Here. 
index fe6bba4..415fcbf 100644 (file)
@@ -43,9 +43,7 @@ using namespace std;
 
 namespace __gnu_internal
 {
-  __glibcxx_mutex_define_initialized(iterator_base_attach_mutex);
-  __glibcxx_mutex_define_initialized(iterator_base_detach_mutex);
-
+  __glibcxx_mutex_define_initialized(iterator_base_mutex);
 } // namespace __gnu_internal
 
 namespace __gnu_debug
@@ -196,7 +194,7 @@ namespace __gnu_debug
     // Attach to the new sequence (if there is one)
     if (__seq)
       {
-       __gnu_cxx::lock sentry(__gnu_internal::iterator_base_attach_mutex);
+       __gnu_cxx::lock sentry(__gnu_internal::iterator_base_mutex);
        _M_sequence = __seq;
        _M_version = _M_sequence->_M_version;
        _M_prior = 0;
@@ -221,7 +219,7 @@ namespace __gnu_debug
   _Safe_iterator_base::
   _M_detach()
   {
-    __gnu_cxx::lock sentry(__gnu_internal::iterator_base_detach_mutex);
+    __gnu_cxx::lock sentry(__gnu_internal::iterator_base_mutex);
     if (_M_sequence)
       {
        // Remove us from this sequence's list