]> git.ipfire.org Git - thirdparty/gcc.git/commit - libstdc++-v3/include/std/mutex
re PR libstdc++/39909 (non-TLS version of std::call_once causes terminate)
authorJonathan Wakely <jwakely.gcc@gmail.com>
Tue, 5 May 2009 21:32:38 +0000 (21:32 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 5 May 2009 21:32:38 +0000 (22:32 +0100)
commitefdb734755a28bf494a0e375e9fec6d1012482b4
tree7872cbd2d5e29eb4cc6cb620d05574769ca67a24
parent32f579f6ebde02d94ac8fbd0379b1d0207dd9ac5
re PR libstdc++/39909 (non-TLS version of std::call_once causes terminate)

2009-05-05  Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/39909
* include/std/mutex (__get_once_functor_lock, __get_once_mutex,
__set_once_functor_lock_ptr): Replace global lock object with local
locks on global mutex.
* src/mutex.cc (__get_once_functor_lock, __get_once_mutex,
__set_once_functor_lock_ptr): Likewise, keeping old function to
preserve ABI.
(__once_proxy): Use pointer to local lock if set, global lock
otherwise.
* config/abi/pre/gnu.ver: Add new symbols to new ABI version.
* testsuite/util/testsuite_abi.cc: Add GLIBCX_3.4.12 version.
* testsuite/30_threads/call_once/39909.cc: New.

From-SVN: r147137
libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/include/std/mutex
libstdc++-v3/src/mutex.cc
libstdc++-v3/testsuite/30_threads/call_once/39909.cc [new file with mode: 0644]
libstdc++-v3/testsuite/util/testsuite_abi.cc