From 0ea7dabc1271dbc77b8d5764e4eecbeba85903d6 Mon Sep 17 00:00:00 2001 From: Marek Roszko Date: Thu, 24 Mar 2022 18:13:39 -0400 Subject: [PATCH] Read the boost manual right-side up (cherry picked from commit 3f0f8464358985972c1a20983fb2cc408a0675c1) --- common/kiid.cpp | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/common/kiid.cpp b/common/kiid.cpp index 282d015f36..3d61b395ed 100644 --- a/common/kiid.cpp +++ b/common/kiid.cpp @@ -41,22 +41,10 @@ // boost:mt19937 is not thread-safe static std::mutex rng_mutex; -// We use a little helper class to ensure our static rng object is seeded -// with a random seed on startup before it's passed to the uuid generator object -class GENERATOR_INIT_HELPER -{ -public: - GENERATOR_INIT_HELPER( boost::mt19937& aRng ) - { - boost::uuids::detail::random_provider seeder; - aRng.seed( seeder ); - } -}; - // Static rng and generators are used because the overhead of constant seeding is expensive // We break out the rng separately from the generator because we want to control seeding in cases like unit tests -static boost::mt19937 rng; -static GENERATOR_INIT_HELPER initHelper( rng ); +static boost::uuids::detail::random_provider seeder; // required to ensure the rng has a random initial seed +static boost::mt19937 rng( seeder ); static boost::uuids::basic_random_generator randomGenerator( rng ); // These don't have the same performance penalty, but we might as well be consistent