From: Casey Bodley Date: Wed, 9 Nov 2016 19:10:42 +0000 (-0500) Subject: msg: move static random engine into function scope X-Git-Tag: v11.1.0~317^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bf7d77a84b144ffdc92efd7d19d3038b75911b54;p=ceph.git msg: move static random engine into function scope this avoids polling the random_device unless it's being used Signed-off-by: Casey Bodley --- diff --git a/src/msg/Messenger.cc b/src/msg/Messenger.cc index b17f1ecb8c5c..f52b243020d7 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);