#include <glog/logging.h>
#include <folly/File.h>
#include <folly/FileUtil.h>
+#include <folly/ThreadLocal.h>
#ifdef _MSC_VER
# include <wincrypt.h>
bufferedRandomDevice->get(data, size);
}
-ThreadLocalPRNG::ThreadLocalPRNG() {
- static folly::ThreadLocal<ThreadLocalPRNG::LocalInstancePRNG> localInstance;
- local_ = localInstance.get();
-}
-
class ThreadLocalPRNG::LocalInstancePRNG {
public:
LocalInstancePRNG() : rng(Random::create()) { }
Random::DefaultGenerator rng;
};
+ThreadLocalPRNG::ThreadLocalPRNG() {
+ static folly::ThreadLocal<ThreadLocalPRNG::LocalInstancePRNG> localInstance;
+ local_ = localInstance.get();
+}
+
uint32_t ThreadLocalPRNG::getImpl(LocalInstancePRNG* local) {
return local->rng();
}