summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/DescriptorHelper.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2005-10-25 20:45:35 +0000
committerBenoit Foucher <benoit@zeroc.com>2005-10-25 20:45:35 +0000
commitd89f4f58ea4ab21661540c33f5e3481c67a758b1 (patch)
tree4f9a09fb53e573863c29b62d6e7777eb83ee8873 /cpp/src/IceGrid/DescriptorHelper.cpp
parentFix some SRPM generation bugs, some copy commands and removed buildrequires (diff)
downloadice-d89f4f58ea4ab21661540c33f5e3481c67a758b1.tar.bz2
ice-d89f4f58ea4ab21661540c33f5e3481c67a758b1.tar.xz
ice-d89f4f58ea4ab21661540c33f5e3481c67a758b1.zip
Fixed a bug where IcePatch2 couldn't be deployed and used in a new
application. Fixed deadlock. Added automatic patching after adding an application.
Diffstat (limited to 'cpp/src/IceGrid/DescriptorHelper.cpp')
-rw-r--r--cpp/src/IceGrid/DescriptorHelper.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp
index 73aa0ef1f1b..d6927eefff8 100644
--- a/cpp/src/IceGrid/DescriptorHelper.cpp
+++ b/cpp/src/IceGrid/DescriptorHelper.cpp
@@ -907,6 +907,7 @@ ServerHelper::instantiateImpl(const ServerDescriptorPtr& instance, const Resolve
instance->exe = resolve(_desc->exe, "executable", false);
instance->pwd = resolve(_desc->pwd, "working directory path");
instance->activation = resolve(_desc->activation, "activation");
+ instance->noApplicationDistrib = _desc->noApplicationDistrib;
if(!instance->activation.empty() && instance->activation != "manual" && instance->activation != "on-demand")
{
resolve.exception("unknown activation `" + instance->activation + "'");
@@ -977,6 +978,10 @@ ServerHelper::printImpl(Output& out, const string& application, const string& no
{
out << nl << "deactivationTimeout = " << _desc->deactivationTimeout;
}
+ if(_desc->noApplicationDistrib)
+ {
+ out << nl << "no application distribution = true";
+ }
if(!_desc->options.empty())
{
out << nl << "options = `" << toString(_desc->options) << "'";
@@ -1896,6 +1901,14 @@ ApplicationHelper::instantiate(const Resolver& resolve) const
ApplicationDescriptor desc = _definition;
desc.description = resolve(_definition.description, "description");
+ desc.distrib.icepatch = resolve(desc.distrib.icepatch, "IcePatch2 server proxy");
+ Ice::StringSeq::const_iterator p;
+ desc.distrib.directories.clear();
+ for(p = _definition.distrib.directories.begin(); p != _definition.distrib.directories.end(); ++p)
+ {
+ desc.distrib.directories.push_back(resolve(*p, "distribution source directory"));
+ }
+
ReplicaGroupDescriptorSeq::iterator r;
for(r = desc.replicaGroups.begin(); r != desc.replicaGroups.end(); ++r)
{
@@ -2189,7 +2202,7 @@ ApplicationHelper::getDistributions(DistributionDescriptor& distribution,
map<string, DistributionDescriptorDict>& nodeDistributions,
const string& server) const
{
- distribution = _definition.distrib;
+ distribution = _instance.distrib;
for(NodeHelperDict::const_iterator n = _nodes.begin(); n != _nodes.end(); ++n)
{
DistributionDescriptorDict distrib = n->second.getDistributions(server);