
"Peter Dimov" <pdimov@mmltd.net> wrote in message news:005501c52b5b$2cfccaf0$6501a8c0@pdimov2...
I've made some pretty extensive changes to the implementation of shared_ptr. It now uses a lock-free algorithm (originally invented by Alexander Terekhov) on Windows, and the old detail/shared_count.hpp has been refactored into a number of smaller headers. A per-count pthread_mutex is still being used on non-Windows platforms, but this is also going to change soon.
Now is the time to test the new implementation; please report any errors you encounter. Some of you have posted patches against the old implementation; these will need to be reexamined, too.
detail/lightweight_mutex will also change "soon"; it will just map into a CRITICAL_SECTION or a pthread_mutex depending on the platform. The spin locks will disappear. shared_ptr no longer uses lightweight_mutex.
If you use some of the undocumented features of shared_ptr - BOOST_SP_USE_STD_ALLOCATOR, BOOST_SP_ENABLE_DEBUG_HOOKS, sp_collector.cpp - please say so. During the refactoring I may drop some of these features in order to simplify and streamline the implementation.
Thanks,
-- Peter Dimov http://www.pdimov.com
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost