summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/linearstore/MessageStoreImpl.cpp
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2014-01-16 20:46:24 +0000
committerKim van der Riet <kpvdr@apache.org>2014-01-16 20:46:24 +0000
commite4e01cd48489a57a1c7e4dd4b5223d24067d4086 (patch)
tree1b3492f3fbe1d995db516bf4b9fc4e846598c32d /cpp/src/qpid/linearstore/MessageStoreImpl.cpp
parent910556efefca56752ac0ba692d0a2ecc6847158d (diff)
downloadqpid-python-e4e01cd48489a57a1c7e4dd4b5223d24067d4086.tar.gz
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
Diffstat (limited to 'cpp/src/qpid/linearstore/MessageStoreImpl.cpp')
-rw-r--r--cpp/src/qpid/linearstore/MessageStoreImpl.cpp8
1 files changed, 7 insertions, 1 deletions
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_)
{