summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/IceGridNode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/IceGridNode.cpp')
-rw-r--r--cpp/src/IceGrid/IceGridNode.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/IceGridNode.cpp b/cpp/src/IceGrid/IceGridNode.cpp
index 26ddd08aaec..2e278db93b2 100644
--- a/cpp/src/IceGrid/IceGridNode.cpp
+++ b/cpp/src/IceGrid/IceGridNode.cpp
@@ -244,6 +244,28 @@ NodeService::start(int argc, char* argv[])
properties->setProperty("IceGrid.Node.ThreadPool.SizeMax", os.str());
}
+ size = properties->getPropertyAsIntWithDefault("Ice.ThreadPool.Client.Size", 0);
+ if(size <= 0)
+ {
+ properties->setProperty("Ice.ThreadPool.Client.Size", "1");
+ size = 1;
+ }
+ sizeMax = properties->getPropertyAsIntWithDefault("Ice.ThreadPool.Client.SizeMax", 0);
+ if(sizeMax <= 0)
+ {
+ if(size >= sizeMax)
+ {
+ sizeMax = size * 10;
+ }
+ if(sizeMax < 100)
+ {
+ sizeMax = 100;
+ }
+ ostringstream os;
+ os << sizeMax;
+ properties->setProperty("Ice.ThreadPool.Client.SizeMax", os.str());
+ }
+
//
// Create the activator.
//
@@ -518,6 +540,9 @@ NodeService::start(int argc, char* argv[])
// We wait for the node to be registered with the registry
// before to claim it's ready.
//
+ // TODO: XXX: That's not correct. The node can't be
+ // interrupted if we wait here...
+ //
_sessions.waitForCreate();
print(bundleName + " ready");
}