[Bug libstdc++/52604] mt allocator crashes on multi-threaded

laurent.alfonsi at st dot com gcc-bugzilla@gcc.gnu.org
Fri Apr 13 09:46:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52604

--- Comment #14 from Laurent Aflonsi <laurent.alfonsi at st dot com> 2012-04-13 09:46:24 UTC ---
Thanks very much Paolo.
Here it is. I'll commit the patch in the mainline if no objection.
Laurent

2012-04-13  Laurent Alfonsi  <laurent.alfonsi@st.com>

    PR libstdc++/52604
    * src/mt_allocator.cc: (~__freelist): Reset pointer.


Index: src/c++98/mt_allocator.cc
===================================================================
--- src/c++98/mt_allocator.cc    (revision 186374)
+++ src/c++98/mt_allocator.cc    (working copy)
@@ -48,6 +48,7 @@
     {
       __gthread_key_delete(_M_key);
       ::operator delete(static_cast<void*>(_M_thread_freelist_array));
+      _M_thread_freelist = 0;
     }
     }
   };



More information about the Gcc-bugs mailing list