diff --git a/common/kiid.cpp b/common/kiid.cpp index 9b72a11977..368327801f 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