diff options
| author | Giacomo Pozzoni <giacomopoz@gmail.com> | 2020-07-18 19:34:45 +0000 | 
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-01-23 22:16:45 +0100 | 
| commit | 509a70f57facf60ea97b64a2e110c8ca52f1ec0d (patch) | |
| tree | a4b24f0dbec6aba48b8e009f20e441311476a732 | |
| parent | 44ea32ace410071494726eeaf69489bad1423591 (diff) | |
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 00b16992f1ae3bf14ab5fe6366028a2b8648bfa0)
| -rw-r--r-- | src/common/Utilities/Random.cpp | 15 | 
1 files changed, 5 insertions, 10 deletions
diff --git a/src/common/Utilities/Random.cpp b/src/common/Utilities/Random.cpp index 5a4004b41bd..64b4f0c57d3 100644 --- a/src/common/Utilities/Random.cpp +++ b/src/common/Utilities/Random.cpp @@ -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)  | 
