%thread.entities; ]>
Release Notes
Boost 1.34.0
New team of maintainers Since the original author William E. Kempf no longer is available to maintain the &Boost.Thread; library, a new team has been formed in an attempt to continue the work on &Boost.Thread;. Fortunately William E. Kempf has given permission to use his work under the boost license. The team currently consists of Anthony Williams, for the Win32 platform, Roland Schwarz, for the linux platform, and various "housekeeping" tasks. Volunteers for other platforms are welcome! As the &Boost.Thread; was kind of orphaned over the last release, this release attempts to fix the known bugs. Upcoming releases will bring in new things.
read_write_mutex still broken It has been decided not to release the Read/Write Mutex, since the current implementation suffers from a serious bug. The documentation of the concepts has been included though, giving the interested reader an opportunity to study the original concepts. Please refer to the following links if you are interested which problems led to the decision to held back this mutex type.The issue has been discovered before 1.33 was released and the code has been omitted from that release. A reworked mutex is expected to appear in 1.35. Also see: read_write_mutex bug and read_write_mutex fundamentally broken in 1.33
Boost 1.32.0
Documentation converted to BoostBook The documentation was converted to BoostBook format, and a number of errors and inconsistencies were fixed in the process. Since this was a fairly large task, there are likely to be more errors and inconsistencies remaining. If you find any, please report them!
Barrier functionality added A new class, boost::barrier, was added.
Read/write mutex functionality added New classes, boost::read_write_mutex, boost::try_read_write_mutex, and boost::timed_read_write_mutex were added. Since the read/write mutex and related classes are new, both interface and implementation are liable to change in future releases of &Boost.Thread;. The lock concepts and lock promotion in particular are still under discussion and very likely to change.
Thread-specific pointer functionality changed The boost::thread_specific_ptr constructor now takes an optional pointer to a cleanup function that is called to release the thread-specific data that is being pointed to by boost::thread_specific_ptr objects. Fixed: the number of available thread-specific storage "slots" is too small on some platforms. Fixed: thread_specific_ptr::reset() doesn't check error returned by tss::set() (the tss::set() function now throws if it fails instead of returning an error code). Fixed: calling boost::thread_specific_ptr::reset() or boost::thread_specific_ptr::release() causes double-delete: once when boost::thread_specific_ptr::reset() or boost::thread_specific_ptr::release() is called and once when boost::thread_specific_ptr::~thread_specific_ptr() is called.
Mutex implementation changed for Win32 On Win32, boost::mutex, boost::try_mutex, boost::recursive_mutex, and boost::recursive_try_mutex now use a Win32 critical section whenever possible; otherwise they use a Win32 mutex. As before, boost::timed_mutex and boost::recursive_timed_mutex use a Win32 mutex.
Windows CE support improved Minor changes were made to make Boost.Thread work on Windows CE.