Core/Threads: Replace Boost TLS with C++11 one (#15782)

* Core/Threads: Replace Boost TLS with C++11 one

Replace boost::thread_specific_ptr<T> thread-local storage with C++11 thread_local to remove libboost_thread dependency from common project

* Fix no-pch build

(cherry picked from commit 00b16992f1)
This commit is contained in:
Giacomo Pozzoni
2020-07-18 19:34:45 +00:00
committed by Shauren
parent 44ea32ace4
commit 509a70f57f

View File

@@ -18,23 +18,18 @@
#include "Random.h"
#include "Errors.h"
#include "SFMTRand.h"
#include <boost/thread/tss.hpp>
#include <memory>
#include <random>
static boost::thread_specific_ptr<SFMTRand> sfmtRand;
static thread_local std::unique_ptr<SFMTRand> sfmtRand;
static RandomEngine engine;
static SFMTRand* GetRng()
{
SFMTRand* rand = sfmtRand.get();
if (!sfmtRand)
sfmtRand = std::make_unique<SFMTRand>();
if (!rand)
{
rand = new SFMTRand();
sfmtRand.reset(rand);
}
return rand;
return sfmtRand.get();
}
int32 irand(int32 min, int32 max)