diff options
Diffstat (limited to '3rdParty/Boost/src/boost/thread/pthread/thread_data.hpp')
-rw-r--r-- | 3rdParty/Boost/src/boost/thread/pthread/thread_data.hpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/3rdParty/Boost/src/boost/thread/pthread/thread_data.hpp b/3rdParty/Boost/src/boost/thread/pthread/thread_data.hpp index 244035b..730c77c 100644 --- a/3rdParty/Boost/src/boost/thread/pthread/thread_data.hpp +++ b/3rdParty/Boost/src/boost/thread/pthread/thread_data.hpp @@ -13,6 +13,7 @@ #include <boost/optional.hpp> #include <pthread.h> #include "condition_variable_fwd.hpp" +#include <map> #include <boost/config/abi_prefix.hpp> @@ -22,8 +23,18 @@ namespace boost namespace detail { + struct tss_cleanup_function; struct thread_exit_callback_node; - struct tss_data_node; + struct tss_data_node + { + boost::shared_ptr<boost::detail::tss_cleanup_function> func; + void* value; + + tss_data_node(boost::shared_ptr<boost::detail::tss_cleanup_function> func_, + void* value_): + func(func_),value(value_) + {} + }; struct thread_data_base; typedef boost::shared_ptr<thread_data_base> thread_data_ptr; @@ -41,14 +52,14 @@ namespace boost bool join_started; bool joined; boost::detail::thread_exit_callback_node* thread_exit_callbacks; - boost::detail::tss_data_node* tss_data; + std::map<void const*,boost::detail::tss_data_node> tss_data; bool interrupt_enabled; bool interrupt_requested; pthread_cond_t* current_cond; thread_data_base(): done(false),join_started(false),joined(false), - thread_exit_callbacks(0),tss_data(0), + thread_exit_callbacks(0), interrupt_enabled(true), interrupt_requested(false), current_cond(0) |