]> git.sesse.net Git - casparcg/blobdiff - common/except.cpp
Move from boost::thread to std::thread for nearly everything.
[casparcg] / common / except.cpp
index 7257e79971162bb2fa5663e527e1818bfa975884..e6adf051e54ece1bfb0e2a2d3ee62f84faccc736 100644 (file)
 
 #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;
 }
@@ -41,15 +40,7 @@ namespace caspar {
 
 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()