summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Database.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-03-24 14:32:35 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-03-24 14:32:35 +0000
commitc9a1e3aad627ee02dd5a17b374528f48c9ebe157 (patch)
tree912ba1a8707db30c1ce7fa6792691e90c824732a /cpp/src/IceGrid/Database.cpp
parentFix (diff)
downloadice-c9a1e3aad627ee02dd5a17b374528f48c9ebe157.tar.bz2
ice-c9a1e3aad627ee02dd5a17b374528f48c9ebe157.tar.xz
ice-c9a1e3aad627ee02dd5a17b374528f48c9ebe157.zip
Fixed bug 916.
Diffstat (limited to 'cpp/src/IceGrid/Database.cpp')
-rw-r--r--cpp/src/IceGrid/Database.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/cpp/src/IceGrid/Database.cpp b/cpp/src/IceGrid/Database.cpp
index e7e20fd3a43..c77ad832dfd 100644
--- a/cpp/src/IceGrid/Database.cpp
+++ b/cpp/src/IceGrid/Database.cpp
@@ -8,6 +8,7 @@
// **********************************************************************
#include <IceUtil/StringUtil.h>
+#include <IceUtil/Random.h>
#include <Freeze/Freeze.h>
#include <IceGrid/Database.h>
#include <IceGrid/TraceLevels.h>
@@ -765,7 +766,7 @@ Database::getAdapters(const string& id, bool allRegistered, int& endpointCount)
adpts.push_back(make_pair(p->first, adpt));
++p;
}
- random_shuffle(adpts.begin(), adpts.end());
+ random_shuffle(adpts.begin(), adpts.end(), IceUtil::random);
endpointCount = static_cast<int>(adpts.size());
return adpts;
}
@@ -927,14 +928,14 @@ Ice::ObjectPrx
Database::getObjectByType(const string& type)
{
Ice::ObjectProxySeq objs = getObjectsByType(type);
- return objs[rand() % objs.size()];
+ return objs[IceUtil::random(objs.size())];
}
Ice::ObjectPrx
Database::getObjectByTypeOnLeastLoadedNode(const string& type, LoadSample sample)
{
Ice::ObjectProxySeq objs = getObjectsByType(type);
- random_shuffle(objs.begin(), objs.end());
+ random_shuffle(objs.begin(), objs.end(), IceUtil::random);
vector<pair<Ice::ObjectPrx, float> > objectsWithLoad;
objectsWithLoad.reserve(objs.size());
for(Ice::ObjectProxySeq::const_iterator p = objs.begin(); p != objs.end(); ++p)