From: Jonathan Wakely Date: Thu, 22 Jan 2009 22:33:02 +0000 (+0000) Subject: thread (__thread_data_base, thread): Rename member functions to match coding style. X-Git-Tag: releases/gcc-4.4.0~767 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=78b580a99edf257a8504d531ac3ae4057dbf4075;p=thirdparty%2Fgcc.git thread (__thread_data_base, thread): Rename member functions to match coding style. 2009-01-22 Jonathan Wakely * 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 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index d15f1d7c5711..8ebbe316c1f2 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2009-01-22 Jonathan Wakely + + * 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 PR libstdc++/38384 diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index 40237a6a854e..7a034db1ec14 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 00fb018989f8..e6ce0f71876b 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 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 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 __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(__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 b7a4f83a8e54..ca934dd90599 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,