From bf7d77a84b144ffdc92efd7d19d3038b75911b54 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Wed, 9 Nov 2016 14:10:42 -0500 Subject: [PATCH] msg: move static random engine into function scope this avoids polling the random_device unless it's being used Signed-off-by: Casey Bodley --- src/msg/Messenger.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/msg/Messenger.cc b/src/msg/Messenger.cc index b17f1ecb8c5..f52b243020d 100644 --- a/src/msg/Messenger.cc +++ b/src/msg/Messenger.cc @@ -20,16 +20,16 @@ Messenger *Messenger::create_client_messenger(CephContext *cct, string lname) lname, nonce, 0); } -static std::random_device seed; -static std::default_random_engine random_engine(seed()); -static Spinlock random_lock; - Messenger *Messenger::create(CephContext *cct, const string &type, entity_name_t name, string lname, uint64_t nonce, uint64_t cflags) { int r = -1; if (type == "random") { + static std::random_device seed; + static std::default_random_engine random_engine(seed()); + static Spinlock random_lock; + std::lock_guard lock(random_lock); std::uniform_int_distribution<> dis(0, 1); r = dis(random_engine); -- 2.47.3