re PR libstdc++/57641 (std::timed_mutex.try_lock_until() is broken)
authorJonathan Wakely <jwakely.gcc@gmail.com>
Tue, 18 Jun 2013 22:55:02 +0000 (22:55 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 18 Jun 2013 22:55:02 +0000 (23:55 +0100)
commit25e00ab67444a01dce446e95308521d1a73f8232
treec491d5047a720ef9b19dbe186747c2ab31667949
parentbef8491a658de9e8920acaeff6cb76ef4e946e2c
re PR libstdc++/57641 (std::timed_mutex.try_lock_until() is broken)

PR libstdc++/57641
* include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
functionality to new __timed_mutex_impl mixin. Overload try_lock_until
to handle conversion between different clocks. Replace constrained
__try_lock_for_impl overloads with conditional increment.
* include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.

From-SVN: r200180
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/mutex
libstdc++-v3/include/std/shared_mutex
libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/57641.cc [new file with mode: 0644]