2009-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Jan 2009 23:24:05 +0000 (23:24 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Jan 2009 23:24:05 +0000 (23:24 +0000)
commit6db3e8352fefa7e59317de8a9078f0c001289e3f
tree7d1482ccf71102b2e07f20bbe2ac2e2aa38e6c60
parentac50b6ef556f85dd1a8e2d9f529ce5a3ef085675
2009-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/std/thread: Remove unused headers.
(__thread_data_base): Remove unused mutex and base.
(thread::~thread): Only detach if joinable.
(thread::joinable): Test if thread data ptr is empty.
(thread::_M_thread_data_mutex): Remove.
(thread::_M_get_thread_data): Remove.
(thread::_M_make_thread_data): Remove overload, use make_shared.
(thread::id::id): Make constructor explicit.
* src/thread.cc (thread::join,thread::detach): Throw if not joinable.
(thread::_M_start_thread): Break shared_ptr cycle on error.
(__thread_proxy): Use shared_ptr swap instead of copy and reset.
* testsuite/30_threads/thread/member/4.cc: New.
* testsuite/30_threads/thread/member/5.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143772 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/thread
libstdc++-v3/src/thread.cc
libstdc++-v3/testsuite/30_threads/thread/member/4.cc [new file with mode: 0644]
libstdc++-v3/testsuite/30_threads/thread/member/5.cc [new file with mode: 0644]