shared_mutex (shared_timed_mutex): Add comments to explain the logic in the non-pthre...
authorJonathan Wakely <jwakely@redhat.com>
Fri, 10 Apr 2015 08:59:54 +0000 (09:59 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 10 Apr 2015 08:59:54 +0000 (09:59 +0100)
commit43b0e124e455ebabe9df6bb4d9959beb9eb9b633
tree341639a9ee9569500b8fd45f9c968683b7026f93
parentdccd8858cf03ab89fc167725dbdf7dffbe5ef923
shared_mutex (shared_timed_mutex): Add comments to explain the logic in the non-pthread_rwlock_t version.

* include/std/shared_mutex (shared_timed_mutex): Add comments to
explain the logic in the non-pthread_rwlock_t version.
(_Mutex): Remove redundant type.
(_M_n_readers): Rename to _S_max_readers.
(_M_write_entered, _M_readers): New convenience functions.
(lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
functions. Use predicates with condition variables. Simplify bitwise
operations.
(try_lock_for, try_shared_lock_for): Convert duration to time_point
and call try_lock_until or try_shared_lock_until respectively.
(try_lock_until, try_shared_lock_until): Wait on the condition
variables until the specified time passes.
(unlock): Add Debug Mode assertion.
(unlock_shared): Add Debug Mode assertion.
* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.

From-SVN: r221970
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/shared_mutex
libstdc++-v3/testsuite/30_threads/shared_timed_mutex/try_lock/3.cc [new file with mode: 0644]