diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-17 17:23:42 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-17 17:23:42 +0000 |
commit | 2c6d1cc860bc9a3ad25263dc6bf2d6932ee700ab (patch) | |
tree | 6966989eed1920cccfb6e305fa941b06cdcc750e /libstdc++-v3 | |
parent | 53d4f63c1574080b24ef0be1196db3f610cec098 (diff) | |
download | gcc-2c6d1cc860bc9a3ad25263dc6bf2d6932ee700ab.tar.gz |
2005-10-17 Jonathan Wakely <redi@gcc.gnu.org>
PR libstdc++/24244
* include/tr1/boost_shared_ptr.h (_Sp_counted_base::_Sp_counted_base()):
When __GTHREAD_MUTEX_INIT is defined, initialize the mutex.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105506 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/include/tr1/boost_shared_ptr.h | 9 |
2 files changed, 14 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b316543c224..48c588f68b0 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2005-10-17 Jonathan Wakely <redi@gcc.gnu.org> + + PR libstdc++/24244 + * include/tr1/boost_shared_ptr.h (_Sp_counted_base::_Sp_counted_base()): + When __GTHREAD_MUTEX_INIT is defined, initialize the mutex. + 2005-10-15 Paolo Carlini <pcarlini@suse.de> * include/tr1/functional: Add missing #pragma GCC system_header. diff --git a/libstdc++-v3/include/tr1/boost_shared_ptr.h b/libstdc++-v3/include/tr1/boost_shared_ptr.h index a998fed2d71..8f95ead7dd5 100644 --- a/libstdc++-v3/include/tr1/boost_shared_ptr.h +++ b/libstdc++-v3/include/tr1/boost_shared_ptr.h @@ -101,7 +101,14 @@ public: _Sp_counted_base() : _M_use_count(1), _M_weak_count(1) - { } + { + // For the case of __GTHREAD_MUTEX_INIT we haven't initialised + // the mutex yet, so do it now. +#if defined(__GTHREADS) && defined(__GTHREAD_MUTEX_INIT) + __gthread_mutex_t __tmp = __GTHREAD_MUTEX_INIT; + _M_mutex = __tmp; +#endif + } virtual ~_Sp_counted_base() // nothrow |