From e4e01cd48489a57a1c7e4dd4b5223d24067d4086 Mon Sep 17 00:00:00 2001 From: Kim van der Riet Date: Thu, 16 Jan 2014 20:46:24 +0000 Subject: QPID-5487: [linearstore] Replace use of /dev/urandom with c random generator calls git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1558913 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/linearstore/MessageStoreImpl.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/linearstore/MessageStoreImpl.cpp') diff --git a/cpp/src/qpid/linearstore/MessageStoreImpl.cpp b/cpp/src/qpid/linearstore/MessageStoreImpl.cpp index 3df194d479..483b494c2c 100644 --- a/cpp/src/qpid/linearstore/MessageStoreImpl.cpp +++ b/cpp/src/qpid/linearstore/MessageStoreImpl.cpp @@ -66,7 +66,13 @@ MessageStoreImpl::MessageStoreImpl(qpid::broker::Broker* broker_, const char* en jrnlLog(qpid::linearstore::journal::JournalLog::LOG_NOTICE), mgmtObject(), agent(0) -{} +{ + // Test of values for QLS_RAND_SHIFT1, QLS_RAND_SHIFT2 and QLS_RAND_MASK + if((((uint64_t)RAND_MAX << QLS_RAND_SHIFT1) ^ ((uint64_t)RAND_MAX << QLS_RAND_SHIFT2) ^ (RAND_MAX & QLS_RAND_MASK)) != 0xffffffffffffffffULL) { + THROW_STORE_EXCEPTION("[linearstore] 64-bit random number generation alignment error"); + } + ::srand(::time(NULL)); +} uint32_t MessageStoreImpl::chkJrnlWrPageCacheSize(const uint32_t param_, const std::string& paramName_) { -- cgit v1.2.1