aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2009-01-22 22:33:02 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2009-01-22 22:33:02 +0000
commit78b580a99edf257a8504d531ac3ae4057dbf4075 (patch)
tree3f4681da1d14fab66d860063dd9295fda2ad6669 /libstdc++-v3
parent6a5af9dcd87e2c30b6083eb51a8fda66926e441d (diff)
downloadgcc-78b580a99edf257a8504d531ac3ae4057dbf4075.zip
gcc-78b580a99edf257a8504d531ac3ae4057dbf4075.tar.gz
gcc-78b580a99edf257a8504d531ac3ae4057dbf4075.tar.bz2
thread (__thread_data_base, thread): Rename member functions to match coding style.
2009-01-22 Jonathan Wakely <jwakely.gcc@gmail.com> * include/std/thread (__thread_data_base, thread): Rename member functions to match coding style. (thread::thread,thread::operator=): Define move operations. * src/thread.cc (__thread_data_base, thread): Rename member functions. * config/abi/pre/gnu.ver: Adjust. From-SVN: r143577
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver2
-rw-r--r--libstdc++-v3/include/std/thread30
-rw-r--r--libstdc++-v3/src/thread.cc4
4 files changed, 30 insertions, 14 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index d15f1d7..8ebbe31 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,11 @@
+2009-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * include/std/thread (__thread_data_base, thread): Rename member
+ functions to match coding style.
+ (thread::thread,thread::operator=): Define move operations.
+ * src/thread.cc (__thread_data_base, thread): Rename member functions.
+ * config/abi/pre/gnu.ver: Adjust.
+
2009-01-22 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/38384
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 40237a6..7a034db 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -900,7 +900,7 @@ GLIBCXX_3.4.11 {
_ZNSt10shared_ptrISt18__thread_data_baseED1Ev;
_ZNSt12bad_weak_ptrD0Ev;
_ZNSt12bad_weak_ptrD1Ev;
- _ZNSt6thread14__start_threadEv;
+ _ZNSt6thread15_M_start_threadEv;
_ZNSt6thread4joinEv;
_ZNSt6thread6detachEv;
diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread
index 00fb018..e6ce0f7 100644
--- a/libstdc++-v3/include/std/thread
+++ b/libstdc++-v3/include/std/thread
@@ -65,7 +65,7 @@ namespace std
__thread_data_base() = default;
virtual ~__thread_data_base() = default;
- virtual void __run() = 0;
+ virtual void _M_run() = 0;
__gthread_t _M_thread_handle;
__thread_data_ptr _M_this_ptr;
@@ -80,7 +80,7 @@ namespace std
: _M_func(std::forward<_Callable>(__f))
{ }
- void __run()
+ void _M_run()
{ _M_func(); }
private:
@@ -100,21 +100,29 @@ namespace std
template<typename _Callable>
explicit thread(_Callable __f)
- : _M_thread_data(__make_thread_data(__f))
- { __start_thread(); }
+ : _M_thread_data(_M_make_thread_data(__f))
+ { _M_start_thread(); }
template<typename _Callable, typename... _Args>
thread(_Callable&& __f, _Args&&... __args)
- : _M_thread_data(__make_thread_data(std::bind(__f, __args...)))
- { __start_thread(); }
+ : _M_thread_data(_M_make_thread_data(std::bind(__f, __args...)))
+ { _M_start_thread(); }
~thread()
{ detach(); }
thread(const thread&) = delete;
- thread(thread&&);
+ thread(thread&& __t)
+ { swap(__t); }
+
thread& operator=(const thread&) = delete;
- thread& operator=(thread&&);
+ thread& operator=(thread&& __t)
+ {
+ if (joinable())
+ detach();
+ swap(__t);
+ return *this;
+ }
// members
void
@@ -150,17 +158,17 @@ namespace std
private:
template<typename _Callable>
__thread_data_ptr
- __make_thread_data(_Callable&& __f)
+ _M_make_thread_data(_Callable&& __f)
{
return __thread_data_ptr(
new __thread_data<_Callable>(std::forward<_Callable>(__f)));
}
__thread_data_ptr
- __make_thread_data(void(*__f)())
+ _M_make_thread_data(void(*__f)())
{ return __thread_data_ptr(new __thread_data<void(*)()>(__f)); }
- void __start_thread();
+ void _M_start_thread();
__thread_data_ptr _M_thread_data;
mutable mutex _M_thread_data_mutex;
diff --git a/libstdc++-v3/src/thread.cc b/libstdc++-v3/src/thread.cc
index b7a4f83..ca934dd 100644
--- a/libstdc++-v3/src/thread.cc
+++ b/libstdc++-v3/src/thread.cc
@@ -46,7 +46,7 @@ namespace std
try
{
- __local_thread_data->__run();
+ __local_thread_data->_M_run();
}
catch(...)
{
@@ -88,7 +88,7 @@ namespace std
}
void
- thread::__start_thread()
+ thread::_M_start_thread()
{
_M_thread_data->_M_this_ptr = _M_thread_data;
int __e = __gthread_create(&_M_thread_data->_M_thread_handle,