Add portable timed_mutex and recursive_timed_mutex.
authorJonathan Wakely <jwakely@redhat.com>
Fri, 4 Sep 2015 11:23:44 +0000 (12:23 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 4 Sep 2015 11:23:44 +0000 (12:23 +0100)
commitf16081c2c6fb60a69195c3810fd88ed263757d21
tree2ae7f2e44b80d66842aa2caa35dea4810069c0d2
parentcda844f0ccb5be311f9aef651ea7d490942cb331
Add portable timed_mutex and recursive_timed_mutex.

PR libstdc++/65704
* include/Makefile.am: Add <bits/mutex.h>.
* include/Makefile.in: Regenerate.
* include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock):
New file containing types moved from <mutex>.
* include/std/condition_variable: Include <bits/mutex.h> instead of
<mutex>.
* include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock):
Move to <bits/mutex.h>.
*  testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove
dg-require-gthreads-timed.
*  testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/dest/
destructor_locked.cc: Likewise.
*  testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
*  testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
*  testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
*  testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
Likewise.
*  testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
Likewise.
*  testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
*  testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
*  testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
*  testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
*  testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
*  testsuite/30_threads/unique_lock/locking/4.cc: Likewise.

From-SVN: r227490
39 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/mutex.h [new file with mode: 0644]
libstdc++-v3/include/std/condition_variable
libstdc++-v3/include/std/mutex
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/1.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/1.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/lock/2.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc
libstdc++-v3/testsuite/30_threads/recursive_timed_mutex/unlock/1.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/cons/1.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/cons/assign_neg.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/cons/copy_neg.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/dest/destructor_locked.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/lock/1.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/requirements/standard_layout.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/1.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock/2.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/1.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/2.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_for/3.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/1.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/2.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/try_lock_until/57641.cc
libstdc++-v3/testsuite/30_threads/timed_mutex/unlock/1.cc
libstdc++-v3/testsuite/30_threads/unique_lock/cons/5.cc
libstdc++-v3/testsuite/30_threads/unique_lock/cons/6.cc
libstdc++-v3/testsuite/30_threads/unique_lock/locking/3.cc
libstdc++-v3/testsuite/30_threads/unique_lock/locking/4.cc