#include "except.h"
-#include <boost/thread/tss.hpp>
#include <boost/algorithm/string/join.hpp>
namespace {
-boost::thread_specific_ptr<std::list<std::string>>& context_stacks_per_thread()
+std::list<std::string>& context_stacks_per_thread()
{
- static boost::thread_specific_ptr<std::list<std::string>> instances;
+ static thread_local std::list<std::string> instances;
return instances;
}
std::list<std::string>& context_stack_for_thread()
{
- auto local = context_stacks_per_thread().get();
-
- if (!local)
- {
- local = new std::list<std::string>();
- context_stacks_per_thread().reset(local);
- }
-
- return *local;
+ return context_stacks_per_thread();
}
std::string get_context()