Convert __thread_local_data to the singleton pattern

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@116500 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant
2010-10-14 19:18:04 +00:00
parent 8177207f3c
commit 5306d68019
5 changed files with 13 additions and 8 deletions

View File

@@ -318,13 +318,13 @@ public:
void __make_ready_at_thread_exit(__assoc_sub_state*);
};
extern __thread_specific_ptr<__thread_struct> __thread_local_data;
__thread_specific_ptr<__thread_struct>& __thread_local_data();
template <class _F>
void*
__thread_proxy(void* __vp)
{
__thread_local_data.reset(new __thread_struct);
__thread_local_data().reset(new __thread_struct);
std::unique_ptr<_F> __p(static_cast<_F*>(__vp));
(*__p)();
return nullptr;