mirror of
https://github.com/boostorg/thread.git
synced 2026-01-30 08:22:13 +00:00
* Fixed try_unlock_shared_and_lock_until/for() and try_unlock_shared_and_lock_upgrade_until/for() so that they wait on the correct condition variable for the associated predicate. * Fixed try_unlock_shared_and_lock_until/for() and try_unlock_upgrade_and_lock_until/for() so that they take the write_entered_ flag before waiting for all shared readers to unlock. This prevents new readers from taking a shared lock or new writers from taking the exclusive lock while these functions are waiting to take the exclusive lock. * Changed notify_all() calls to occur while the mutex is being held to be consistent with the notify_one() calls and the existing pthread/shared_mutex.hpp implementation. * Added BOOST_THREAD_PROVIDES_SHARED_MUTEX_UPWARDS_CONVERSIONS ifdefs. * Added BOOST_ASSERT() statements to verify correct usage and operation. * Fixed an incorrect test case that the BOOST_ASSERT() statements uncovered. * Added comments to explain certain design decisions.