]> git.ipfire.org Git - thirdparty/gcc.git/commit
PR libstdc++/91910 fix data race in Debug Mode destructors
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 27 Sep 2019 16:20:40 +0000 (16:20 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 27 Sep 2019 16:20:40 +0000 (16:20 +0000)
commit29a4c7d93a617949d194e75f7acc3b0a5acf89d3
tree95f46a7f254a21f9609d5d6b236edcf8502dc3c2
parent49833aa25999b2e965690686aec8444db97e8455
PR libstdc++/91910 fix data race in Debug Mode destructors

Fix data race when _Safe_iterator_base::_M_detach() runs concurrently with
the _Safe_container_base destructor.

PR libstdc++/91910
* src/c++11/debug.cc (_Safe_iterator_base::_M_detach()): Load pointer
atomically and lock the mutex before accessing the sequence.
(_Safe_local_iterator_base::_M_detach()): Likewise.
(_Safe_iterator_base::_M_reset()): Clear _M_sequence atomically.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@276184 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/src/c++11/debug.cc